[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)

第13章 如何分层

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第1张图片

13.1 分层架构

13.1.1 常见模式:展现层、业务层、数据层

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第2张图片

13.1.2 案例一则

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第3张图片
[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第4张图片

13.1.3 常见模式:UI层、SI层、PD层、DM层

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第5张图片
[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第6张图片

13.1.4 案例一则

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第7张图片

13.2 分层架构实践技巧

13.2.1 设计思想:分层架构的“封装外部交互”思想

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第8张图片

备注:

个人认为:

  • 只有单机版应用程序才适合使用三层架构

  • 四层架构更适合大部分系统,比如有外部通信的软件系统

13.2.2 实践技巧:设计分层架构,从上下文图开始

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第9张图片

备注:

用例图也是识别系统和外部关系的最重要的需求工具之一。

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第10张图片

备注:并非所有的软件系统都包含4层模型中的所有层。

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第11张图片

13.3 实际应用(11)——对比MailProxy案例的 4种模块划分设计

13.3.1 设计

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第12张图片

13.3.2 设计的优点、缺点

[架构之路-103]:《软件架构设计:程序员向架构师转型必备》-13-软件架构如何分层(四层架构)_第13张图片

感悟

本文的四层架构,只是通用的四层架构,通信系统比四层架构更为复杂,通常会根据协议栈类型进一步的划分软件的层次。

你可能感兴趣的:(架构之路,架构,软件分层,架构设计)