美文网首页
模板模式

模板模式

作者: andpy | 来源:发表于2018-01-30 11:13 被阅读5次

模板方法模式

概念:通过定义一个算法的骨架,而将算法中的步骤延迟到子类,这样子类就可以复写这些步骤的实现来实现特定的算法.

使用场景

  • 多个子类又共有的方法,并且逻辑基本相同(activity生命周期)
  • 重要复杂的算法,可以把核心算法设计为模板方法.
  • 重构时,模板方法模式是一个经常使用的模式.

顶层接口:
AbstractWork

public abstract class AbstractWork {
    protected void getUp() {
        System.out.println("起床了");
    }

    protected abstract void goToWork();

    protected abstract void work();

    protected abstract void getOffWork();

    /**
     * TemplateMethod,共同调用的方法.
     */
    public final void newDay() {
        getUp();
        goToWork();
        work();
        getOffWork();
    }
}

子类一:

public class BossWork extends AbstractWork {
    @Override
    protected void goToWork() {
        System.out.println("boss go to work by car");
    }

    @Override
    protected void work() {
        System.out.println("boss work ");
    }

    @Override
    protected void getOffWork() {
        System.out.println("boss get off work at 6:00 pm");
    }
}

子类二:

public class StaffWork extends AbstractWork {
    @Override
    protected void goToWork() {
        System.out.println("employee  go to work by car");
    }

    @Override
    protected void work() {
        System.out.println("employee work ");
    }

    @Override
    protected void getOffWork() {
        System.out.println("employee get off work at 5:00 pm");
    }
}

测试

public static void main(String[] args) {
    BossWork bossWork = new BossWork();
    StaffWork staffWork = new StaffWork();
    bossWork.newDay();
    staffWork.newDay();
}

模板小结

  • 抽象模板
  • 具体模板

Android模板方法的运用

  • activity和fragment
  • AsyncTask

相关文章

  • 11.8设计模式-模板模式-详解

    设计模式-模式模式 模板方法模式详解 模板方法模式在android中的实际运用 1.模板方法模式详解 2.模板方法...

  • 第5章 -行为型模式-模板方法模式

    一、模板方法模式的简介 二、模板方法模式的优点 三、模板方法模式的应用场景 四、模板方法模式的实例

  • 模板方法模式

    模板方法模式 模板方法模式的定义 模板方法模式(Template Method Pattern)是如此简单,以致让...

  • 设计模式系列-模板方法模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 模板方法模式 定义 模板方法模式在一个方法中定义了算法...

  • 设计模式(行为型)-- 模板模式

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型-Template

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型 模板模式(文末有项目连接)

    1:模板方式解决的问题(先了解) 2:模板模式的原理与实现 3:模板模式核心代码 4:模板模式复用例子(Input...

  • 模板模式,也是解耦算法的吗?

    模板模式,和算法有什么关系呢? 模板模式,在什么场景使用呢? 模板模式(Template Pattern),定义一...

  • 模板方法模式

    一、模板方法模式介绍 二、模板方法模式代码实例

  • 58 - 模板模式

    本文来学习另外一种行为型设计模式,模板模式。模板模式主要是用来解决复用和扩展两个问题 模板模式的原理与实现 模板模...

网友评论

      本文标题:模板模式

      本文链接:https://www.haomeiwen.com/subject/bcnqzxtx.html