深入浅出面向对象SOLID原则(4)
审核营业执照
袁Sir此时要处理报销、发工资,只用找小蔡沟通就好,至于具体谁去执行,袁Sir压根不需要知道。当然其他部门跟财务部合作也轻松了很多。此后袁Sir对所有部门都进行了整改。
此时袁Sir终于才体会到当老板的一丁点美好了。下班合上电脑前,他敲下了一句话:部门之间得通过约定好的协议来合作,而不用关心对方内部由谁做协议所规定的事项。
[DIP解读]
一开始,袁Sir直接找部门中某个具体执行的人去沟通工作,此时袁Sir依赖的是具体实现细节,每次执行的人发生变化会增加袁Sir的沟通成本。他让小蔡提供了一个服务清单,小蔡充当了一个抽象/接口,此后他只用找小蔡沟通即可,袁Sir从依赖具体实现细节转变到依赖抽象。
在软件设计中,DIP 提倡使用者依赖一个抽象的服务接口,而不是去依赖一个具体的服务执行者,从依赖具体实现转向到依赖抽象接口,倒置过来。
各司其职,工作效率会大大提升袁Sir起初让小蔡统管了人事、行政、财务、法务四个部门,业务扩张后也只是给小蔡多招了10来个人。小蔡大脑里就不得不绷紧四根弦,他要给部门各个同事合理分配任务,确保公司能够正常开展日常活动、人员考核培养、工资发放等工作,当然还有一些诸如工商督查、账务审核、信息安全审核等敏感的活动。暂且不说小蔡有多累,关键是有一次捅了个篓子,差点没葬送公司前程。
一天,工商局来了几个人审核公司的营业资质,就在小蔡跟工商局负责人交涉的过程中,其他管理账目的两位同事因为一项没法对齐的数据起了点小争执,全然忘记还有工商局调查人员在,口角中抖了一些账目相关的敏感信息,好在小蔡反应快,及时进行了制止,当然也做了一些额外的安抚工作,把这事给糊弄过去。
这事传到袁Sir耳中,加上小蔡多次跟袁Sir反馈业务太杂,不但累且容易出篓子,袁Sir这才把几个部门进行了拆分,人事部交给了小任,行政部交给了小邢,法务由老发掌管。
经过几个月的验证,让袁Sir欣喜的是,运营成本不但没有增加,员工的工作状态也比之前大有改善。 从此,财务部门小蔡提供的服务列表:
核对报销单
处理报销
发工资
人事部门小任提供的服务列表:
招聘新员工
员工绩效考核
员工培养
行政部小邢提供的服务列表是:
举办年会
袁Sir此时要处理报销、发工资,只用找小蔡沟通就好,至于具体谁去执行,袁Sir压根不需要知道。当然其他部门跟财务部合作也轻松了很多。此后袁Sir对所有部门都进行了整改。
此时袁Sir终于才体会到当老板的一丁点美好了。下班合上电脑前,他敲下了一句话:部门之间得通过约定好的协议来合作,而不用关心对方内部由谁做协议所规定的事项。
[DIP解读]
一开始,袁Sir直接找部门中某个具体执行的人去沟通工作,此时袁Sir依赖的是具体实现细节,每次执行的人发生变化会增加袁Sir的沟通成本。他让小蔡提供了一个服务清单,小蔡充当了一个抽象/接口,此后他只用找小蔡沟通即可,袁Sir从依赖具体实现细节转变到依赖抽象。
在软件设计中,DIP 提倡使用者依赖一个抽象的服务接口,而不是去依赖一个具体的服务执行者,从依赖具体实现转向到依赖抽象接口,倒置过来。
各司其职,工作效率会大大提升袁Sir起初让小蔡统管了人事、行政、财务、法务四个部门,业务扩张后也只是给小蔡多招了10来个人。小蔡大脑里就不得不绷紧四根弦,他要给部门各个同事合理分配任务,确保公司能够正常开展日常活动、人员考核培养、工资发放等工作,当然还有一些诸如工商督查、账务审核、信息安全审核等敏感的活动。暂且不说小蔡有多累,关键是有一次捅了个篓子,差点没葬送公司前程。
一天,工商局来了几个人审核公司的营业资质,就在小蔡跟工商局负责人交涉的过程中,其他管理账目的两位同事因为一项没法对齐的数据起了点小争执,全然忘记还有工商局调查人员在,口角中抖了一些账目相关的敏感信息,好在小蔡反应快,及时进行了制止,当然也做了一些额外的安抚工作,把这事给糊弄过去。
这事传到袁Sir耳中,加上小蔡多次跟袁Sir反馈业务太杂,不但累且容易出篓子,袁Sir这才把几个部门进行了拆分,人事部交给了小任,行政部交给了小邢,法务由老发掌管。
经过几个月的验证,让袁Sir欣喜的是,运营成本不但没有增加,员工的工作状态也比之前大有改善。 从此,财务部门小蔡提供的服务列表:
核对报销单
处理报销
发工资
人事部门小任提供的服务列表:
招聘新员工
员工绩效考核
员工培养
行政部小邢提供的服务列表是:
举办年会