1.1 第一天上班
第一天上班,电脑安装工作但是安装的同事小张刚巧有事要忙,主管有事也出去了,没有人搭理。小张快下班的时候才回来,开始帮我装系统,加域,设置密码等。
1.2 无熟人难办事
管理上出了问题?
1.3 迪米特法则
"当然,这个原则也是满足的,不过我今天想讲的是一个设计原则:'迪米特法则(LoD)'也叫最少知识原则。[J&DP]"
迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用[J&DP]
"迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限[J&DP],也就是说,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。"
"哦,是的,需要公开的字段,通常就用属性来体现了。这不是封装的思想吗?"
"当然,面向对象的设计原则和面向对象的三大特性本就不是矛盾的。迪米特法则其根本思想,是强调了类之间的松耦合。就拿你今天碰到的这件事来做例子,你第一天去公司,怎么会认识IT部的人呢?如果公司有很好的管理,那么应该是人事的小杨打个电话到IT部,告诉主管安排人给小菜你装电脑,就算开始是小张负责,他临时有急事,主管也可以再安排小李来处理。同样的道理,我们在程序设计时,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。也就是说,信息的隐藏促进了软件的复用。"
"明白,由于IT部是抽象的,哪怕里面的人都离职换了新人,我的电脑出问题也还是可以找IT部解决,而不需要认识其中的同事,纯靠关系帮忙了。就算需要认识,我也只要认识IT部的主管就可以了,由他来安排工作。"