人情办事处
不知道大家去一些陌生的地方办事的时候有没有遇到这种情况:周遭都是陌生人,大家都忙着自己手里的事儿,没空搭理咱。
以前确实会有这种情况,那还是在我的中学时代了。
那次我去别的学校办事儿,举目无亲啊,都是不认识的人。把我领过去的朋友让我不要担心,然后他就走开了,说去小卖部,让我搁那儿等会儿。然后我就信了,等了半天,没人。
然后我就想在学校里走走,又不认路。鼓起莫大的勇气,才敢找个人问路,人家就大概指个位置,然后就走了。真的是尴尬。
那时我就想,我要是在这个学校里多认识几个人,就再也不会出现这种情况了。
像这种去办事被晾在一边的事情似乎难以避免,但是,都知道,出去玩只要有个导游,去哪儿都可以,也不用一个一个人的去问路,也就不至于让人踢皮球。办其他事情也是一样的,只要找到那个统一负责人(主管),让他来安排,一切便可迎刃而解。这就是我们今天聊的
“一步到位 – 迪米特法则”。
“主管”与设计模式
迪米特法则:
如果两个类之间不能直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法到底话,可以通过第三者转发这个调用。
迪米特法则首先强调在类的设计上,每一个类都应该尽量降低成员的访问权限,强调了类之间的松耦合。
类之间的耦合越弱,越有利于重复利用,一个处在弱耦合的类被修改,不会对相关类造成波及。
迪米特法则联想
这个应用场景很像线程池有木有,线程池也是只要把接口给你,你管我内部怎么实现的,反正你有任务给我的时候我就想办法给你分配一个线程,没线程的时候就让你等着。
还有STL的空间配置器,等等。