领域逻辑模式
事务脚本
使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求
- 面向过程编程
事务脚本的组织
- 将同一主题的事务脚本放到同一个类当中
- 一个脚本对应一个类
当业务逻辑变得越来越复杂时,这一模式很难继续保持良好的设计
许多问题本身是简单的,一个简单的解决方案可以加快开发速度
领域模型
合并了行为和数据
组织
- 实体bean
- ORM
当使用领域模型时,使用数据映射器有助于保持领域模型与数据库的独立性
领域模型的要点在于隐藏数据库的存在,使其对于上层不可见
表模块
处理数据库中表或视图中所有行的业务逻辑的一个封装
表模块与事务脚本的区别在于表模块的所有操作都是围绕表来进行,而事务脚本则是围绕事务过程来进行。
组织
表模块以一个类对应数据库中的一个表来组织领域逻辑,仅使用一个单一实例
表模块很大程度依赖于以表方式组织的数据
服务层
通过服务层提供一组可用的操作集合给外部使用
服务层定义了应用程序的边界和从接口客户层角度所看到的的系统、
业务逻辑的种类
- 领域逻辑
- 应用逻辑
实现
- 领域外观
- 做的事不多,属于瘦客户端
- 操作脚本
- 拥有较多的业务逻辑,对领域层进行操作
服务识别与操作
服务层操作的起点是用例模型以及用户界面
如果系统只有一种用户,那可能不需要使用服务层
定义服务层的考虑就是为了复用