设计模式之模板方法模式

模板方法模式

  1. 模板方法模式结构图:

  2. 示例代码:

    // 测试类
    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("具体执行方法");
        }
    }
    
  3. 总结:

    优点:利用模板方法将相同处理逻辑的代码放到抽象父类中,提高了代码的复用性;通过对子类的扩展增加新的行为,提高代码的可扩展性;符合开闭原则;

    缺点:每个抽象类都需要一个子类来实现,导致类的数量增加,增加了系统的复杂度,由于继承关系的特点,如果父类添加了新的抽象方法,所有子类都要改一遍.

posted @ 2021-04-28 00:02  justKen  阅读(41)  评论(0编辑  收藏  举报