上篇博客从日常生活中对软件设计的三层结构进行了简单的剖析,该篇博客主要总结各层功能。
下图为三层的结构模型:
数据访问层
主要负责数据库的访问,实现对数据表的增删改查操作。在分布式应用程序结构中,使用 ADO.NET 数据适配器和 SQL 服务器存储过程来完成。
作用
(1)从“业务规则”层接收请求,从“数据服务”获取数据或向其发送数据。
(2)使用存储过程获取数据,并可选用 ADO.NET 向数据库发送数据。
(3)将数据库查询结果返回到“业务规则”层,作为ADO.NET 数据集。
业务逻辑
是整个系统的核心,它与这个系统的业务有关。它们实现业务实体或系统对象。系统的业务规则将在这些对象中编码。
作用
(1) 从“用户界面”层接受请求。
(2) 根据编码的业务规则处理请求。
(3) 从“数据访问”层获取数据或将数据发送到“数据访问”层。
(4)将处理结果传递回“用户界面”层。
用户界面
系统的UI部分。在分布式应用程序结构中,用户服务可以是 Web 客户端或 Windows 客户端,这具体取决于特定的应用程序。例如,在开发Web 应用程序时,可能需要提供具有标准 Windows 用户界面或 Web 用户界面。通常,这种一般类型的应用程序包含以下功能:
作用
(1)管理 Web 页或 Windows 界面的呈现和行为
(2)显示数据
(3)捕获数据
(4)数据验证检查
(5)为用户提供任务指南
(6)向“业务规则”发送用户输入
(7)从“业务规则”接收结果
(8)向用户显示错误
概括来说,分层设计主要为了达到:分散关注、松散耦合、逻辑复用、标准定义的目的。好的分层式结构,可以使开发人员的分工更明确。
三层设计的优点还有:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
具体区分方法:
1:数据数据访问层:主要看数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。
2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。
3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
分享到:
相关推荐
ORM框架-三层架构 完整代码实现 通过解析实例,讲述ORM框架,采用三层架构实现功能。
.netCMS 是基于.net 实现的 CMS系统,语言使用C#, 典型的三层架构设计,数据库可切换。本人对该系统进行了深入的研究,并记录整理了1.详细的页面呈现原理/功能解析; 2. 如何实现网站扩展模块的开发 ;3. 如何进行...
随着公有/私有云、云原生及底层...为了更好地管理资源,Gartner对云环境进行了分层,主要包含三层:CMP在云计算体系中扮演着「承上启下」的角色,它向上承载和支撑了各类行业应用,向下进行资源的管理和调度,包括异
1.层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语 言为特征。 计算机系统结构(第三版)张晨曦 课后答案 2.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N...
☆应用BS的三层结构,在客户端不需安装软件,有利用后期维护,和减少病毒的侵害。 ☆采用HL7标准及XML的方式处理交互文件,遵守国家相关标准。可将病历文档以XML格式导出,便于数据交换。 ☆全结构化的病历设计避免...
作者在本书中重点介绍了各个内部组件的层次与功能、内存体系结构、存储内部结构、高级锁等。优化器是任何数据库执行SQL的关键部分,本书对优化器产生的各种执行计划进行了详细解释,这对于理解DB2内部工作原理...
☆应用三层结构,在客户端不需安装软件,有利用后期维护,和减少病毒的侵害。 ☆采用 XML的方式处理交互文件,遵守国家相关标准。可将病历文档以XML格式导出,便于数据交换。 ☆采用操作维护简单的原则,避免过于...
2. 描述后台架构技术、框架选择,粘贴架构组件配置相关截图,如数据连接池、处理器映射器、处理器配置器、视图解析器等(10分) 3. 粘贴控制(Controller)层代码截图,代码要能显示对外服务接口暴露,及与前端交换的...
具体架构请见图1中的基础硬件层、深度神经⽹络模型编译器及软件框架 三层。 本章所探讨的⼈⼯智能技术体系主要包含三个维度,⼀是针对⼈⼯智能算法原理本⾝的探讨, ⼆是对算法实现所依托的技术体系进⾏概述,三是...
1、电脑配件购物的app软件 2、实现对各种电脑配件的商品信息展示以及报价...6、使用MVC+三层架构搭建服务端,mysql数据库存储数据信息 7.采用jdk1.8以上,Android9.0以上,AndroidStudio开发软件,Mysql数据库环境开发
1、花卉展览的app软件 2、实现用户随手拍照功能,图片上传服务器功能,...6、使用MVC+三层架构搭建服务端,mysql数据库存储数据信息 7.采用jdk1.8以上,Android9.0以上,AndroidStudio开发软件,Mysql数据库环境开发
4. 针对云计算系统中的虚拟机跨三层网络迁移问题,将新型互联网架构思想和无线网络中的移动性管理思想与云计算技术相结合,提出了一种基于身份与位置分离的虚拟机动态迁移方案。通过将虚拟机的身份标识与位置标识相...
帮助读者了解一般Nginx模块的用法,然后重点介绍如何开发HTTP模块(含HTTP过滤模块)来得到定制的Nginx,其中包括开发一个功能复杂的模块所需要了解的各种知识,如Nginx的基础数据结构、配置项的解析、记录日志的...
RDP协议详细解析(一) 一 前言 二 概述 三 同络层次 四 各连接模块说明 五 各功能模块说明 六 rdpwin结构、数据流说明 七 总结
项目模块解析:按照实际项目结构,分模块介绍了后台管理、用户权限管理、数据报表生成等功能的具体实现。 代码与实现细节:提供了完整的项目源代码,并针对关键部分进行了详细的注释和解析。 文档与笔记:整理了开发...
1、钢琴软件的app软件 2、实现各种琴谱的选择,根据用户按键发出声音,...6、使用MVC+三层架构搭建服务端,mysql数据库存储数据信息 7.采用jdk1.8以上,Android9.0以上,AndroidStudio开发软件,Mysql数据库环境开发
1、程序员面试题宝典的app软件 2、实现各种编程语言的章节练习,单元测试...6、使用MVC+三层架构搭建服务端,mysql数据库存储数据信息 7.采用jdk1.8以上,Android9.0以上,AndroidStudio开发软件,Mysql数据库环境开发
第三层是存储引擎层,存储引擎负责 MySQL 中数据的存储和提取。服务器通过 API 与存储引擎通信,这些接口屏蔽了不同存储引擎的差异,使得差异对上层查询过程透明。除了会解析外键定义的 InnoDB 外,存储引擎不会解析...
下一代的基础通信网络,包括未来的5G,通信网络架构重构等,为物联网提供泛连接网络是核心目标。目前也已经有很多厂商推出解决方案,比如Google的thread/wave,华为的Hi-Link,以及NB-IoT等。传统的物联网连接,都是...