迪米特法则
在公司工作,自己的电脑出毛病了.是去IT部找主管,让主管给你分配维修人员呢?还是直接找维修人员呢?如果直接找维修人员,他可能正好在忙,这样不好.主管代表抽象类和接口,维修人员是具体的类,符合前面所讲的依赖倒转原则(面向接口编程,不要面向实现编程)
也满足迪米特法则(最少知识原则):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果一个类需要调用另一个类的某一个方法的话,可以通过第三方转发这个调用.
迪米特法则首先强调的前提是在类的结构设计上,每一个类应当尽量降低成员的访问权限,也就是说,一个类包装好自己的private状态,不需要让别的类所知道的字段和行为就不要公开.这也体现了封装的思想.要知道,面向对象的设计原则和面向对象的三大特性本来就是不矛盾的.
迪米特法则的根本思想,就是强调了类之间的松耦合,类之间的耦合越弱,越利于复用,一个处在若耦合的类被修改,不会对有关系的类造成波及,也就是说,信息的隐藏促进了软件的复用