美文网首页
模板模式(Template attern):简单&粗暴解

模板模式(Template attern):简单&粗暴解

作者: Linhaojian | 来源:发表于2018-11-21 09:51 被阅读12次

    1.前言


    2.目录

    模式目录.png

    3.含义

    一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。


    4.解决

    1.一些方法通用,却在每一个子类都重新写了这一方法。


    5.原理

    定义一个父类,把子类公用或者通用的方法封装在父类中,让不同的子类按需要重写方法实现。

    5.1 模板模式结构

    模板结构1.png

    5.2 结构分析

    Template:定义通用或者公用的方法模板。
    ATemplate:具体实现。
    BTemplate:具体实现。

    5.3 实例(不同品牌打印机的打印功能)

    Printer

    public abstract class Printer {
        abstract void init();
        abstract void startPlay();
        abstract void endPlay();
        public final void play(){
            init();
            startPlay();
            endPlay();
        }
    }
    

    HtcPrinter

    public class HtcPrinter extends Printer {
        @Override
        void init() {
            //初始化
            //接入电源
            //设置打印任务
        }
        @Override
        void startPlay() {
            //开始打印
        }
        @Override
        void endPlay() {
            //结束打印
        }
    }
    

    SamsungPrinter

    public class SamsungPrinter extends Printer {
        @Override
        void init() {
            //初始化
            //接入电源
            //设置打印任务
        }
        @Override
        void startPlay() {
            //开始打印
        }
        @Override
        void endPlay() {
            //结束打印
        }
    }
    

    6.优点

    1.封装不变部分,扩展可变部分。
    2.提取公共代码,便于维护。
    3.行为由父类控制,子类实现。


    7.缺点

    1. 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大(类爆炸)。

    8.总结

    • 到此, 模板模式 就解析完毕,后续我会把上述 三大类型模式 下的各子模式进行解析分享,
      请继续关注linhaojian_简书
    • 如果喜欢我的分享,可以点击 关注 或者 ,你们支持是我分享的最大动力 。
    • linhaojian的Github

    欢迎关注linhaojian_CSDN博客或者linhaojian_简书

    不定期分享关于安卓开发的干货。

    设计模式(Design pattern):简单&粗暴解析
    单例模式(Singleton Pattern):简单&粗暴解析
    简单工厂模式(Easy Factory Pattern):简单&粗暴解析
    工厂模式(Factory Pattern):简单&粗暴解析):简单&粗暴解析
    抽象工厂模式(Abstract Factory Pattern):简单&粗暴解析
    建造者模式(Builder Pattern):简单&粗暴解析
    代理模式(Proxy Pattern):简单&粗暴解析
    装饰器模式(Decorator Pattern):简单&粗暴解析
    外观模式(Facade Pattern):简单&粗暴解析
    享元模式(Flyweight Pattern):简单&粗暴解析
    观察者模式(Observe Pattern):简单&粗暴解析
    策略模式(Strategy attern):简单&粗暴解析


    写技术文章初心

    • 技术知识积累
    • 技术知识巩固
    • 技术知识分享
    • 技术知识交流

    相关文章

      网友评论

          本文标题:模板模式(Template attern):简单&粗暴解

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