架构设计之分层架构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
架构设计之分层架构
分层架构的好处:1、它实现了一定程度的关注点分离,利于各层逻辑的重用;2、它规范化了层间的调用关系,可以降低层与层之间的依赖;3、如果层间接口设计合理,则用新的实现来替换原有层次的实现也不是什么难事。
常见模式:展现层、业务层、数据层(三层架构)
一、层的职责
a)展现层,或称为表现层,用于显示数据和接收用户输入的数据,主用户提
供一种交互工操作的界面。
b)业务层,或称为业务逻辑层,用来处理各种功能请求,实现系统的业务功
能,是一个系统最为核心的部分。
c)数据层,或称为数据访问层,主要与数据存储打交道,例如实现对数据库
的增、删、改、查等操作。
二、层间关系
a)展现层会向业务层传递参数,发出服务请求,并获取业务层返回的信息显
示在界面上。
b)业务层接收展现层的命令,解析传递过来的参数,判断各种合法性,并具
体实现功能的各种“运算”要求,返回展现层所要的信息。
c)数据访问层不能被展现层直接调用,而必须由业务层来调用。
例如,《基于动态链接库的复杂信息分层框架设计》一文中用图-1刻画三层架构,体现了层之间的经典调用关系;图-2进一步说明了分层架构下的模块重用。即图中的业务层之“模块2”和数据访问层之“模块2”,都在一定程度上被重用了。
图-1 三层架构示意图-调用关系
图-2三层架构示意图-模块重用
常见模式:UI层、SI层、PD层、DM层(四层架构)
一、UI层,即用户界面层(User Interface),负责封装与用户的双向交互、屏蔽具体交互方式。
二、SI层,即系统交互层(System Interaction),负责封装硬件的具体交互方式,以及封装外部系统的交互。
三、PD层,即问题领域层(Problem Domain),负责问题领域或业务领域的抽象、领域功能的实现。
四、DM层,即数据管理层(Data Management),负责封装各种持久化数据的具体管理方式,例如数据库系统、二进制文件、文本文档、XML文档、Flash存储结构。
图-3 四层架构
作为架构模式,四层架构更为经典。这是因为,无论是嵌入式控制系统,还是比较复杂的业务应用系统,三层架构都不够用——因为缺少负责封装硬件访问、外部系统交互的专门的层。
前述三层架构也比较常用,但其实,它只是“UI层+SI层+PD层+DM层”四层架构的一种具体应用罢了。常用的三层忽略了“系统交互层”,二是单独提炼出了“业务实体层”。
图-4 三层架构是四层架构模式的具体应用