skyishuman 发表于 2013-2-3 10:43:06

贫血模型 领域模式

贫血模型

我们首先用贫血模型来实现。所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个对象充当的就是一个数据容器,用C语言的话来说就是一个结构体,所有的业务方法都在一个无状态的Service类中实现,Service类仅仅包含一些行为。这是Java Web程序采用的最常用开发模型,你可能采用的就是这种方法,虽然可能不知道它有个“贫血模型”的称号,这要多亏Martin Flower(这个家伙惯会发明术语!)。
 
包结构

在讨论具体的实现之前,我们先来看来贫血模型的包结构,以便对此有个大概的了解。
  http://www.iteye.com/upload/picture/pic/26107/f506fcc6-a677-3956-8c2e-9187c8cdeeb9.png 

贫血模型的实现一般包括如下包:

[*]dao:负责持久化逻辑
[*]model:包含数据对象,是service操纵的对象
[*]service:放置所有的服务类,其中包含了所有的业务逻辑
[*]facade:提供对UI层访问的入口
代码实现

先看model包的两个类,Account和TransferTransaction对象,分别代表帐户和一次转账事务。由于它们不包含业务逻辑,就是一个普通的Java Bean,下面的代码省略了get和set方法。
<div style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; line-height: 25px; text-align: left; padding: 1px;" class="dp-highlighter"><div class="bar"><div style="font-weight: bold; padding: 3px; margin: 0px;" class="tools">Java代码
页: [1]
查看完整版本: 贫血模型 领域模式