设计模式(五)模板方法设计模式
2016-11-08 10:38
211 查看
模板方法设计模式:
定义:定义一个算法的抽象类,让子类实现具体的算法。模板方法使得子类不能修改算法的结构,只能修改算法的特定步骤。
优点:易于扩展,便于维护,比较灵活
缺点:当结构修改的时候,需要修改其抽象类。
代码实现:
子类实现:
测试类:
输出结果:
挑选衣服
支付宝结账
购物完毕回家
定义:定义一个算法的抽象类,让子类实现具体的算法。模板方法使得子类不能修改算法的结构,只能修改算法的特定步骤。
优点:易于扩展,便于维护,比较灵活
缺点:当结构修改的时候,需要修改其抽象类。
代码实现:
public abstract class AbstarctMode { public final void buySomething(){ System.out.println("挑选衣服"); buy(); System.out.println("购物完毕回家"); } //结账抽象类 public abstract void buy(); }
子类实现:
class BuyByCash extends AbstarctMode{ @Override public void buy() { System.out.println("现金结账"); } } class BuyByCad extends AbstarctMode{ @Override public void buy() { System.out.println("刷卡结账"); } } class BuyByZhifubao extends AbstarctMode{ @Override public void buy() { System.out.println("支付宝结账"); } }
测试类:
public class Main { public static void main(String[] args) { BuyByZhifubao b = new BuyByZhifubao(); b.buySomething(); } }
输出结果:
挑选衣服
支付宝结账
购物完毕回家
相关文章推荐
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式笔记 13. TemplateMethod 模板方法模式(行为型模式)
- 设计模式之模板方法模式(Template Method)
- 设计模式学习之 模板方法模式
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式——模板方法模式(TemplateMethod)
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习日志(14)-TemplateMethod模板方法(行为型模式)
- 设计模式 - Template Method Pattern(模板方法模式)
- 设计模式系列漫谈之六 - 模板方法模式
- 设计模式笔记(十五) —— 模板方法模式
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式(七)[模板方法(Template Method)模式]
- 第六个设计模式之:模板方法
- 浅析设计模式之模板方法
- 设计模式一模板方法模式(spring)
- 白话设计模式--行为型模式--Template Method模式(模板方法模式)
- 设计模式(1)- 模板方法 Template Method Pattern