一 分层
分层的优势:
可以单独了解一层的东西,而不用管其他层
可以替换某一层的实现
最小化层之间的依赖
为建立标准做好准备
一个低层可以被很多高层使用(提高复用率)
分层的劣势:
分层对部分东西,而不是全部东西,有一个良好的封装。有时会引起连锁的更改,如,为了在用户界面上多显示一个属性,必须更改从数据库到UI之间的所有层。
额外的层会降低性能
三个主要层
表现层:提供服务显示信息,展示层的逻辑都是关于如何和用户交互的。主要职责是向用户显示信息,获取用户命令并提交到领域层和数据源层
领域层:逻辑、系统中真正的核心,也被称为业务逻辑层。需要负责这个程序需要处理的领域中真正的工作。如基于输入进行计算并保存数据,验证数据的正确性等等。
数据源层:与数据库、消息系统、师傅管理器及其其他软件包通信
领域层和数据源层绝对比要依赖表现层
层都在哪里运行
最简单的是都在服务器运行,如Web应用。
如果需要Web界面很难展示,操作的UI,就需要把展示层放在客户端运行。
领域逻辑层可以完全放在客户端,也可以完全放在服务器端,也可以分开放置。
数据源层最好放在服务器端。