美文网首页
设计模式--模板方法

设计模式--模板方法

作者: AndroidTony | 来源:发表于2017-09-23 09:38 被阅读7次

1 引言

模板方法是一种基于继承的代码复用技术。顾名思义,模板方法模式,是父类已经写好了模板方法(abstract方法),子类按照这个模板去实现。具体表现为,当确定了某个功能的执行顺序,但是某些步骤的具体实现是未知的,或者是有多种实现方法,具体怎么实现与环境有关,这个时候就非常适合使用模板方法模式:在父类中写好需要调用的方法以及顺序,具体的实现交给子类。

2 思想

我们知道,基类的抽取是这样


封装的过程.png

而模板方式模式,则是在定义一些抽象方法,且按一定的顺序进行调用,子类则必须实现这些方法。即父类控制逻辑,子类实现具体算法。

模板方法模式关系

3 举例说明

Paste_Image.png

4 好处

  • 提高代码复用性。
    重用代码,父类封装好之后,每次使用时,子类只需要写很少的代码就可以了。
  • 高扩展性。利用多态的特性,运行时选择一个子类,并执行完整的步骤,具有很大的灵活性和扩展性。

5 注意点

为了子类不改变父类方法,真正供外部调用的方法,在父类中设置成final类型。

6 模式结构图

模板方法模式图

7 扩展

钩子方法:在父类中声明(可以提供默认实现或者为abstract类型),子类可以复写或者采用默认实现,用来反向控制父类方法的执行。

5 实例 Listview中Adapter的封装套路

相关文章

网友评论

      本文标题:设计模式--模板方法

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