java 贫血模式_对象设计中的:贫血模式和充血模式

其实贫血设计模式和  充血设计模式在称呼上 有点炒作之嫌

这两个概念其实在很早以前,大家开始接受OO思想的时候 就已经开始争论的一个话题

简而言之  :

贫血模式  就是 一个object 中 内部的定义  只有字段和属性,以及少量关于这些字段  增删改查的方法,没有具体的业务逻辑,有点struct 的感觉。所以很多人称贫血模式的对象不算做对象,只能称之为数据结构。其实我个人持中立意见,首先在很多时候一个对象我们只关注他的属性,并不关心他的具体业务方法,比如商品。我们往往是通过订单的方法来控制商品的生命周期。另外一方面贫血模式又有点违背oo的思想。因为oo的本意是触发模式,就是发生了什么,对这个object产生了影响,随之这个object 会进行哪些行为。这一点贫血模式基本上都是将其封装到 业务逻辑层的方法中进行统一的处理的。

充血模式:相对于贫血模式,就是将对象的业务方法也加在对象的类中。让一个对象可以有能力做很多本来属于他的职能范围内的东西。可以说是将对象注入了灵魂。所以更符合oo 的味道。记得自己在刚做iwms 时,很不适应,其中很重要的一点就是博然等人当时引入的富对象模式,就是将大量的static 方法加载到对象之中,让对象在bll层可以直接运行自身的静态方法。这一点也是在后来的学习当中认识到的,当时并不觉得这样写的好处。后来看了博然的简历,看到了充血模式,再上网查找这些,才发现了其中意义,此处感谢博然。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值