`
Mybeautiful
  • 浏览: 294369 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

职责分配之专家原则

阅读更多

     面向对象设计中最重要了有两个方面,一是类的识别,一个类的职责分配。其实这两者之间其实有内在联系。比如当你认为有必要新建一个类时,你一定是已经有了某个职责要分配给它;当你发现某个职责谁做都不合理时,就会考虑是不是要新建一个类。今天主要聊下职责分配的问题。

 

     职责分配最重要的一条就是专家原则,就是谁具备完成这项职责的条件,拥有相关的资源;比如吃饭这个事,只有嘴巴最适合做;因为它有个入口,还拥有牙齿这样的利器,并且具备把食物送到胃里面去的通道。具体设计中也是一样,谁最适合做就让它做。当然这可能碰到这样的情况,发现有某个类是个“多面手”,很多事情它都能做,这时候根据专家原则,你就会发现它的职责会越来越多。这时候你觉得是不是专家原则有问题?不是,问题的根源是 设计中不允许有这样的"多面手"类,你必须把它的资源分给其它类(也许需要New新类)。

 

     专家原则其实是个很有趣的现象,其实我们每天都会碰到。项目经理最爱找谁?特别是紧急的事情,他会找一个他认为最能解决他问题的那个人。所以你经常发现项目组的核心程序员、项目组长非常忙,而一般成员就相对清闲些。这就是专家原则在起作用。以此推测,当你新加入一个陌生团队时,你就很容易找到谁是核心成员。如果你是项目组长,你也许必须让你的手下成为至少一个方面的专家,否则根据专家原则,你就不可能解脱。

 

       要学会做专家,要学会培养专家,更重要的是识别专家。

----------------------------------------------------------------------

张瑜,Mybeautiful, zhangyu0182@sina.com.

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics