代码改变世界

NHibernate in Action ch3.1

2009-12-16 08:25  jiva  阅读(192)  评论(0编辑  收藏  举报

3.1 the caveatEmptor application

     这一部分主要介绍了本章要使用的例子模型,同时简要阐述了领域模型开发的内容。

     Domain Model: "an object-oriented model of entities from the problem domain, encompassing only those entities that are of interest to the user "。作者说领域模型是对业务领域的面向对象的抽象,只包含和用户利益相关的实体。恩,这个如果做到了,将是一件很漂亮的事情,要不然框架类的东西一旦修改,就只能不停地将业务迁移来迁移去了。去年一年就做了一年的迁移。其实对业务也是需要深入抽象和理解的,比如说业务流、工作流、审核流、权限等等绕在一起也比较麻烦了。

      The entities in a domain model should encapsulate state and behavior。作者说领域模型中的实体应该是包含状态和行为的,只有这样的model才能算是rich object model。这本书并不会讲解这些内容,因为这些状态都是需要持久化的。(It's the state of your entites that is persistent)。关于rich model,javaeye论坛曾经对此讨论过,贫血模型还是充血模型,其实对于我们的很多的MIS系统来说,多数情况都是在CRUD数据,更多的时候像是Excel的替代品,所以Model你让它胖都胖不起来。天生的如此。由此想到领域模型适合什么类型的程序,恩,像我们软件的预算部分估计可以。呵呵,黑洞之门。

 

作者弄的原型如下, 不算简单也不算非常复杂,感觉这个例子非常好:

clip_image002