标签:android锁屏 图片 读取 复杂 模板 oid 文本 改变 mamicode
一般问题:一个算法主体架构固定,细节多变。
核心方法:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。
设计意图:将算法不变的主体提取到抽象父类,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。
Android锁屏的密码界面就用到了模板方法模式,锁屏有多种密码方式:PIN码解锁、复杂密码解锁等。其解锁算法的主体架构是固定的:都是读取输入后与底层匹配,返回匹配结果决定是否解锁;每中解锁方式又各有特点:比如界面UI、提示文本等。所以把解锁主体部分提取出来作为父类,每种解锁方式继承父类并修改某些细节,既减少了子类代码重复,又实现了解锁方式的多样性。
其UML图如下:
标签:android锁屏 图片 读取 复杂 模板 oid 文本 改变 mamicode
原文地址:https://www.cnblogs.com/not2/p/11075695.html