软件架构之领域模型: 领域模型主要职责是在各个层之间传输数据,是业务的基础和前后端通信的元。 开发中存在很多类似的概念,如domain、scope、view等,但他们的功能是类似的。如果将数 据分别放置不仅会增加代码量,而且造成数据过度分散,理解力下降。 作为一个类应该是抽象的,但应该可以充分描述一个事物。例如一个人:应该具有体征描述、 意识描述、社会关系描述等。但我们大多时候定义类只定义我们所关注的某些方面。 在领域模型方面,目前的一种建议可以分为如下几个部分,我称之为“域”: 1.常量域 2.属性域 3.关联域 4.查询域 通过在领域模型中包含这四种域,在配置Hibernate或Ibatis等可以实现大多数的web开发中对 domain、model、scope、view等对象的需求。下面分别介绍这四种域。 1.常量域:设置对象的全局属性,枚举值等基本常量。 2.属性域:对象的基本属性,一般指用于数据库实体映射的字段。 3.关联域:对象对其它对象的引用,一般用于数据库实体的关联关系。 4.查询域:对象属性的扩展,该域中的属性不用于映射,是对属性的描述,例如年龄最大值和 最小值、联系人列表等。主要用于查询,是对属性域的补充。 注:以上域之间可以存在重叠。