论坛首页 Java企业应用论坛

关于开发中的贫血模型和充血模型的个人看法

浏览 1416 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-28   最后修改:2011-12-28
看了一些这方面的文章,自己总结一下自己的想法,加深自己的一点理解

我把开发中的几个层比喻成现实中的公司管理层,这样好理解些

最上层老板(action),中层管理者(manager),基层执行者(object),底层跑腿业务员(dao)
现在大家关注的最重要的两个 中层管理者,基层执行者,这两个的职责比重怎么分,什么样的活分给管理者,什么样的活分给基层工作者,
什么时候权力下放,什么时候权力提升

有四模型和二模型之分

四模型时
1,失血模型 action manager object dao  object没有自己的行为方法,只是一个听话的老实人,没有任何主见,一切受命于manager,manager来管理你的一切行为,上厕所也不例外, 愤怒中。。。。。。。。。。。。。凭什么啥都管我

2,贫血模型 action manager object dao  object仅有管理自身状态的行为方法,这回上厕所的权力交给你了,还有其它的只与你个人有关的其它行为,剩下的受命于manager,你手上没有可以管理的人 ,安于现状中。。。。。。。。。。。感觉还可接受

3,充血模型 action manager object dao  object仅有管理自身自身状态的行为方法和管理一些与自己工作相关的业务员的简单命令,其它的受命于manager,有点人情味了,终于可以使唤其它人了,感动中。。。。感觉良好

4,胀血模型 action manager object dao  object管理与自己相关的所有行为方法,可以忽略manager的存在,我是老大,甚至踢走上司,激动中。。。。。。。这个在上层的感觉就是不一样

两模型时
1 贫血模型 action manager object dao  就是四模型中的第1个
2 充血模型 action manager object dao  就是四模型中的第2个或第3个

对于如何划分两人的职责呢,有以下几个方面可以参考
manager和object较好的分配原则:

1 manager要做的事涉及到一个重要的公司形为,这个形为不属性任何一个object,object一个人应付不来,manager可以要喊一帮子人来协调来干
2 manager要做的事涉及到其它部门的老大
3 manager要做的事没有个人因素,不能受个人因素的影响,例如情感,小三之类的,总之没有状态变化,不受人控制,做事六亲不认

除了上面三条的事,其它的事都应该尽量权力下放,让手下人object去干

以上纯属个人理解,有不同意见的同学可以尽管喷
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics