设计模式之模板方法模式
模板方法模式
-
模板方法模式结构图:
-
示例代码:
// 测试类 public class TemplateMethodTest { public static void main(String[] args) { TemplateMethod method = new ConcreteMethod(); method.template(); } } // 抽象模板类 abstract class TemplateMethod{ public final void template(){ method(); } public abstract void method() ; } // 具体实现类 class ConcreteMethod extends TemplateMethod{ @Override public void method() { System.out.println("具体执行方法"); } }
-
总结:
优点:利用模板方法将相同处理逻辑的代码放到抽象父类中,提高了代码的复用性;通过对子类的扩展增加新的行为,提高代码的可扩展性;符合开闭原则;
缺点:每个抽象类都需要一个子类来实现,导致类的数量增加,增加了系统的复杂度,由于继承关系的特点,如果父类添加了新的抽象方法,所有子类都要改一遍.