面向对象的思维方式跟一个普通职员升职为经理,开始从事管理工作的思维方式非常像。不用再去关注所有工作的细节,掌控好大方向,把事情细分,各项细节分配给有对应专业能力的人去做就,出了问题直接能找到责任人。
作为领导应该培养每个人的专长,划分清楚每个人的职责,自己要把重点放在如何分配好工作,自己就能轻松一些,去做更高层的事。
把事情分类,然后给每个类正名,每个类都拥有自己的特殊能力和独一无二的名字。每个有专业能力的人就像是一个类(Class),他有自己独特的专业能力,去完成他的任务,出了问题直接找他就行。
他们也都具有一些通用的能力,是经理给予他们的。比如:都可以去跟他汇报进度。这个能力就可以看作是从基类继承而来的能力,他们都是前端开发人员,可理解为抽象的概念。
经理在面对一个切实的需求时,只需要按照自顶向下的思维方式,将所拥有的资源,具体的实现交给相应的人去实施即可。每个实施人员可以看作是类或者库。人与人的分工明确,对接工作时务必要简单明了,那么就是接口设计清晰合理。
比如:一个前端负责人手下有两个前端开发人员,S 擅长css 样式,L 擅长js 逻辑处理。样式出了问题他会找S ,程序出了bug 他会找 L。当然实际情况肯定会更复杂,可以分工更细致。
一个公司的分工越明确,职责越清晰,那么每个人对待工作的态度就会严谨很多,他没办法推到别人身上,出了问题,可以明确定位到责任人。
当一个类负责专门的事情的时候,做得越少,它就不容易出错。想的少,但是做的很专,那么就容易做好。
如果设计是好的,把需求理解清楚了,把每个类的职责划分清楚了。等同于这个经理知人善用,让每个人都发挥了自己的特长,大家共同把事情做好了。这就是优秀的面向对象设计。
一个领导事必躬亲,自己每天事多人累,那么他即不能锻炼下属的能力,也难以提升自己的高度。
殊途同归,当对一件事或者一个现象有深刻的理解的时候,其他类似规律的事情也能融会贯通。常说的“融会贯通”,也是需要到达一定境界,经历的足够多才能拥有的。