模板方法模式

Posted not2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板方法模式相关的知识,希望对你有一定的参考价值。

一、概述

一般问题:一个算法主体架构固定,细节多变。

核心方法:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。

设计意图:将算法不变的主体提取到抽象父类,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。

 技术图片


二、应用实战

android锁屏的密码界面就用到了模板方法模式,锁屏有多种密码方式:PIN码解锁、复杂密码解锁等。其解锁算法的主体架构是固定的:都是读取输入后与底层匹配,返回匹配结果决定是否解锁;每中解锁方式又各有特点:比如界面UI、提示文本等。所以把解锁主体部分提取出来作为父类,每种解锁方式继承父类并修改某些细节,既减少了子类代码重复,又实现了解锁方式的多样性。

其UML图如下:

 

以上是关于模板方法模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式整理_模板模式

设计模式----模板方法模式

设计模式(十五)——模板方法模式

模板方法模式(Template Method Pattern)

七模板方法模式

第九式 模板方法模式