美文网首页
模板模式

模板模式

作者: 明朗__ | 来源:发表于2017-02-28 12:02 被阅读9次

定义:

定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变算法的结构即可重复定义算法的某些特点步骤

案例(玩游戏)

  1. AbstractClass抽象类,定义算法结构,还可以提供通用实现
//抽象游戏类
public abstract class Game {
    abstract  void  login();
    abstract  void startPlay();
    abstract  void endPlay();
    //声明为final 防止子类重写
    public final void play(){
        System.out.print("开机");
        login();
        startPlay();
        endPlay();
        System.out.print("关机");

    }
}
  1. ConcreteClass具体实现类 选择性的重定义算法中某些特定步
public class LoLGame extends Game {
    @Override
    void login() {
        System.out.print("登录");
    }

    @Override
    void startPlay() {
        System.out.print("开始游戏");
    }

    @Override
    void endPlay() {
        System.out.print("结束游戏");

    }
}

  1. Client 调用
public class MyClass {
    public static void main(String[] args){
        Game game=new LoLGame();
        game.play();
    }
}
开机
登录
开始游戏
结束游戏
关机

优缺点:
优点:
1、封装不变部分,扩展可变部分。
2、提取公共代码,便于维护。
3、行为由父类控制,子类实现。
缺点:
1、每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
使用场景:
1、有多个子类共有的方法,且逻辑相同 重要的、复杂的方法,可以考虑作为模板方法。
注意事项:
为防止恶意操作,一般模板方法都加上 final 关键词

相关文章

  • 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/ntdxgttx.html