软件架构---分层架构
常见模式:展现层、业务层、数据层
展现层 + 业务层 + 数据层,这种分层架构模式很常见:
· 层的职责。
展现层,或称为表现层,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
业务层,或称为业务逻辑层,用来处理各种功能请求,实现系统的业务功能,是一个系统最为核心的部分。
数据层,或称为数据访问层,主要与数据存储打交道,例如实现对数据库的增、删、改、查等操作。
· 层间关系。
展现层会向业务层传递参数,发出服务请求,并获取业务层返回的信息显示在界面上。
业务层接收展现层的命令,解析传递过来的参数,判断各种合法性,并具体实现功能的各种“运算”要求,返回展现层所要的信息。
数据访问层不能被展现层直接调用,而必须由业务层来调用。
分层架构有一些显而易见的好处:1)它实现了一定程度的关注点分离,利于各层逻辑的重用;2)它规范化了层间的调用关系,可以降低层与层之间的依赖;3)如果层间接口设计合理,则用新的实现来替换原有层次的实现也不是什么难事。
常见模式:UI层、SI层、PD层、DM层
“UI层 + SI层 + PD层 + DM层”四层架构(如图13-3所示):
四层架构
· UI层,即用户界面层(User Interface)。负责封装与用户的双向交互、屏蔽具体交互方式。
· SI层,即系统交互层(System Interaction)。负责封装硬件的具体交互方式,以及封装外部系统的交互。
· PD层,即问题领域层(Problem Domain)。负责问题领域或业务领域的抽象、领域功能的实现。
· DM层,即数据管理层(Data Management)。负责封装各种持久化数据的具体管理方式,例如数据库系统、二进制文件、文本文档、XML文档、Flash存储结构。
作为架构模式,四层架构更为经典。这是因为,无论是嵌入式控制系统,还是比较复杂的业务应用系统,三层架构都不够用——因为它缺少负责封装硬件访问、外部系统交互的专门的层。
前述三层架构也比较常用,但其实,它只是“UI层 + SI层 + PD层 + DM层”四层架构的一种具体应用罢了。如图13-4所示,常用的三层一是忽略了“系统交互层”,二是单独提炼出了“业务实体层”。
图13-4 三层架构是四层架构模式的具体应用