设计模式 - 模板方法

一、定义
- 定义一个算法或流程,并将部分步骤的实现放在子类当中。此时,子类可改变特定步骤,而不闭修改算法或流程的结构。
- 灵魂(本质):封装一个算法或者流程。
- 使用:抽象方法,具体方法(final修饰),钩子方法(以do开头,父类是空实现,子类覆写父类),联合使用。
二、场景
- 多个子类有公有方法,且逻辑基本相同。 - 例如:在Android中自定义BaseFragment、BaseActivity,作为基类。
- 重构代码时,可以将相同的代码抽取到父类,通过钩子函数约束子类行为。
三、Android中的应用场景:AsyncTask
- 源码阅读:http://blog.csdn.net/bboyfeiyu/article/details/8973058
四、一个简单的示例:

五、参考与引用
https://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html】
https://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html】

posted @ 2019-12-07 10:56  墨狮  阅读(85)  评论(0)    收藏  举报