领域模型中的各种角色

实体

     实体是具有唯一标识的对象,且该标识和对象的属性值分离.即使两个实体的属性完全相同,这两个实体也相同,不能交换使用.由于实体通常对应于现实世界的概念.

是领域模型的中心,因此实体的标识非常重要.

 

值对象

     值对象是主要由其属性值定义的对象.值对象通常不可变,即一旦创建,他们就再也不能更新.如果两个实例的属性具有相同的值,他们就可以交换使用.

 

工厂

     java应用程序中使用new操作符创建对象.有时,直接使用new操作符已经错错有余,但如果需要实例化复杂的对象类型,你或许就要用到工厂.工厂(factory)定义了创建实体的方法,他封装了实例化对象图并将这些对象连接在一起的机制,从而简化了客户端代码.

 

仓库

     仓库管理实体的集合,并定义了查找和删除实体的方法.如果工厂代码很简单,他们也可以扮演工厂的角色.仓库封装了持久层框架,由一个接口及其实现类组成.接口定义能被仓库客户端调用的方法,而实现类则通过调用持久层框架实现这个接口.由于持久层框架被封装在接口后面,因此你可以集中经历开发业务逻辑,不会为数据库问题拖累或者分心.

 

服务

     服务,实现整个应用程序的工作流.这些类及实现用例是应用程序的驱动力.一般来说,服务包含那些无法指派给单个实体的行为,由作用于多个对象的方法组成.

服务方法很少实现大量业务逻辑.相反,典型的服务方法通过仓库获取对象,然后委派给这些对象.

posted @ 2010-03-09 23:07  东苑草根  阅读(198)  评论(0编辑  收藏  举报
手牵手 一步两步三步 往上爬