表模块和领域模型比,有两个显著区别:

1:表模块中的类和数据库表基本一一对应,而领域模型则无此要求;

2:表模块中的类的对象处理表中的所有记录,而领域模型的一个对象代表表中的一行记录;

一般情况下,我们可以基于第二点来严格区分你的设计是表模块的,还是领域模型的。如:如果我们有许多订单,则领域模型的每一个订单都有一个对象,而表模块只有一个对象来处理所有订单(注意,这里的类,都是指业务逻辑层的类,而不是实体类。表模块的类的对象和常规的领域模型的对象很类似,但是关键区别是:它没有标识符来标出它所代表的实体对象)。举例来说,如果要查询某个订单,表模块会像这样进行编码:

因为表模块只有一个对象来处理所有订单,所以表模块可以是一个实例,也可以是一个只包含静态方法的静态类。

表模块 的代码和 事务脚本类似:

05-04 05:32