参考 网络通讯的7层结构;
基于C/S系统结构中,分层概念更加明显;
三个基本层次:
- 表现层:提供服务,显示信息(处理用户请求(鼠标键盘),HTTP请求,命令行调用,批处理API);
- 领域层:逻辑,系统中真正的核心;
- 数据源层:与数据库、消息系统、事务管理器及其他软件包通讯;
关于各层的运行环境
- 通常最简单的情况是将所有东西都运行在服务器上,使用WEB浏览器的HTML前端;
- 加上分布式应用约束,数据源层一般在服务器上,例外的情况是断线操作,离线的客户机对数据源的修改将在之后被同步到服务器上;
- 胖客户情况下,表现层运行在客户端;而WEB界面情况下,表现层运行在服务器端;(当然也会有例外)
- 只要有可能就用WEB,只有在必需的情况下才使用胖客户方式;
- 领域逻辑一般在服务器端,但是如果必须在客户端运行某种逻辑,可以考虑将所有逻辑都运行在客户端——这样至少保证相关的东西在一起;
- 为了解决某些特殊的问题,领域逻辑被分割在客户端和服务器端(最差的选择),可以将分割到客户端的逻辑部分独立成一个小模块,使得其不依赖系统的任意其他部分;