设计模式-模式模式
- 模板方法模式详解
- 模板方法模式在android中的实际运用

11-8_11章结束[00_34_41][20180806-130958-0].jpg
1.模板方法模式详解
1.概念
模板方法是通过定义一个算法骨架,而将算法中的步骤延迟到子类,这样子类就可以复写这些步骤的实现来实现特定的算法
模板方法是通过定义一个算法骨架,而将算法中的步骤延迟到子类,这样子类就可以复写这些步骤的实现来实现特定的算法
2.使用场景
1.多个子类有公有的方法,并且逻辑基本相同时
2.重要、复杂的算法,可以把核心算法定义为模板方法
3.重构时,模板方法模式是一个经常使用的模式
3.UML结构图分析
图
4.实际代码分析
图
1.父类:定义算法框架
abstract class AbstractWork{
getUp(){ //起床啦
抽象方法 goToWork()
抽象方法 work()
抽象方法 getOffWork()
最重要的点:大家都共有的执行步骤
newDay(){
执行 以上四个方法
}
抽象模板、具体模板
定义的数量和模型/模板方法的数量
2.模板方法模式在android中的实际运用
activity
AsyncTask
0.WorkerRunnable:实现了Callable接口 1.Future<V>接口:用来获取异步计算结果的,说白了就是对具体的Runnable或者Callable对象任务执行的结果进行获取 get(),取消(cancel()),判断是否完成等操作
2. FutureTask:FutureTask除了实现了Future接口外还实现了Runnable接口,因此FutureTask也可以直接提交给Executor执行

11-8_11章结束[00_34_41][20180806-130958-0].jpg

11-8_11章结束[00_35_24][20180806-131025-1].jpg

11-8_11章结束[00_38_04][20180806-131426-2].jpg

11-8_11章结束[00_43_26][20180806-131711-3].jpg

11-8_11章结束[00_47_38][20180806-132212-5].jpg

11-8_11章结束[00_47_57][20180806-132239-6].jpg

11-8_11章结束[00_49_21][20180806-131900-4].jpg

11-8_11章结束[00_49_52][20180806-132401-7].jpg

11-8_11章结束[00_50_17][20180806-132419-8].jpg

11-8_11章结束[00_50_39][20180806-132438-9].jpg

11-8_11章结束[00_50_45][20180806-132442-0].jpg
网友评论