温馨提示:
微信公众号做了超链接限制,有兴趣的小伙伴可以直接到
www.androidblog.cn
或点击文章末尾"
阅读全文
"里进行查看
注意 【招编辑和分享讲师,有意者公众号留言】
作者简介:
本文作者
梦中人在梦中
本文原地址:
http://www.jianshu.com/p/631517af4f37
文章源自网络,如果涉及侵权等问题,请第一时间联系我们予以下架
模板方法模式:
在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
有一个泡茶和冲咖啡的业务,他们都有差不多相似的流程。
一、不使用设计模式
二、模板方法模式的使用
下面以一个代码样例来说明模板方法模式的使用。
三、使用钩子(hook)来做一些其它操作
四、比较
不使用设计模式
|
使用模板方法模式
|
Coffee和Tea主导一切;它们控制了算法
|
TemplateMethod控制了一切,它拥有算法,并且
保护这个算法
|
Coffee和Tea之间存在着重复的代码
|
通过TemplateMethod类实现了代码的复用
|
如果算法变了,需要修改Coffee和Tea类
|
新增算法或调整顺序只需要修改TemplateMethod类
|
由于类的组织不具有弹性,新加入第三种类型时需要完全重写一份
|
由于有模板存在,只需要实现差异化的逻辑即可
|
算法的知识和它的实现会分散在许多类中
|
TemplateMethod类专注在算法本身,而由子类提供完整的实现
|
------------------------------ End ------------
--------------------
精选文章:
View事件体系
面试遇到的那些坑
Android密钥保护和C/S网络传输安全理论指南
随机洗牌算法
Android增量编译
由模块化到组件化(一)
一致性Hash算法
Android应用耗电量分析与优化建议
我不是不同意你的看法,而是受不了你说话的样子
仿京东手势解锁
开发人员一份技术简历写好很重要
泛型深度解耦下的MVP大瘦身
往期周刊:
50期
|
49期
|
48期
|
47期
|
46期
|
45期
|
44期
|
43期
|
42期
|
41期
|
40期
|
39期
38期
|
37期
|
36期
|
35期
|
34期
|
33期
|
32期
|
31期
30期
|
29期
|
28期
|
27期
|
26期
|
25期
|
24期
|
23期