1.模版方法
定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变一个算法的结构即可重定义该算法的某些特定的步骤。
理解:
通过把不变的行为搬移到超类,去除子类中的重复代码(即提供一个很好的代码复用平台)
帮助子类摆脱了重复不变行为的纠缠。
eg:
2.迪米特法则(设计模式和面向对象的的三大特性不是矛盾的)
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法,可以通过第三者转发这个调用
也叫做“最少知识原则”。这是对封装思想的强化。
迪米特法则其根本思想是强调了类之间耦合
类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。