模板方法模式和迪米特法则

模板方法模式:
既然用了继承,并且肯定这个继承有意义,就应该要称为子类的模板,所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复。
当我们要完成在某一细节层次一致的一个过程或一系列的步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤。
模板方法模式和迪米特法则
模板方法模式的特点:
模板方法模式是通过把不变的行为搬移到超类,去除子类中的重复代码来体现他的优势。
模板方法模式就是提供了一个很好的代码复用平台。当不变的和可变的行为在方法的子类实现中混合在一起的时侯,不变的行为就会在子类中重复出现。通过模板的方法模式把这些行为搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠。
迪米特法则:
迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者调用。
迪米特法则的前提在类的结构设计上,每一个类都应当尽力降低成员访问权限,其根本思想是强调了类之间的松耦合。类之间的松耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。