事务脚本
事务脚本比较好理解,简单来说,就是将大多是事务,以过程的形式封装起来,然后在其他层(表现层)被调用,实现一定功能(输入、查询、更新数据库)。组织事务脚本需要通过合理的方法将其模块化,例如对于数据库连接等操作,可以独立出来,成为公用的过程。
事务脚本可以通过一定的方法组织成类。事务脚本的优势在于简单有效。例如,对于一个留言本,使用Add、GetDetail等方法即可封装数据库操作,Web界面则直接调用其即可。
领域模型
领域模型是一张对象(数据、业务规则、实体等)连接成的网。
对于简单领域模型,一般来说,一个数据库表对应一个对象;复杂领域模型则由很多细粒度对象组成,通过继承、策略和其他设计模式,模拟复杂的领域逻辑。复杂领域模型需要使用数据映射器。
表模块
按照我自己的理解,表模块可以简单看作通过一系列的类来模拟业务,但操作的对象是封装了的一个数据集(所谓实体对象),前一点和领域模型相同,后者则简化了与数据库的连接,不需要数据映射器。因此,表模块一般是对于数据库的一个表使用一个表模块。