没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
4页
本文实例讲述了Android编程设计模式之模板方法模式。分享给大家供大家参考,具体如下: 一、介绍 在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但是,某些步骤的具体实现是未知的,或者说某些步骤的实现是会随着环境的变化而改变的,例如,执行程序的流程大致如下: 1.检查代码的正确性; 2.链接相关的类库; 3.编译相关代码; 4.执行程序。 对于不同的程序设计语言,上述4个步骤都是不一样的,但是,它们的执行流程是固定的,这类问题的解决方案就是我们本章要讲的模板方法模式。 二、定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,
资源推荐
资源详情
资源评论
Android编程设计模式之模板方法模式详解编程设计模式之模板方法模式详解
本文实例讲述了Android编程设计模式之模板方法模式。分享给大家供大家参考,具体如下:
一、介绍一、介绍
在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但
是,某些步骤的具体实现是未知的,或者说某些步骤的实现是会随着环境的变化而改变的,例如,执行程序的流程大致如下:
1.检查代码的正确性;
2.链接相关的类库;
3.编译相关代码;
4.执行程序。
对于不同的程序设计语言,上述4个步骤都是不一样的,但是,它们的执行流程是固定的,这类问题的解决方案就是我们本章
要讲的模板方法模式。
二、定义二、定义
定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特
定步骤。
三、使用场景三、使用场景
多个子类有公有的方法,并且逻辑基本相同时。
重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。
重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数约束其行为。
四、模板方法模式的四、模板方法模式的UML类图类图
UML类图:类图:
角色介绍:角色介绍:
AbstractClass:抽象类,定义了一套算法框架。
ConcreteClass1:具体实现类1。
ConcreteClass2:具体实现类2。
五、简单示例五、简单示例
模板方法实际上是封装一个固定流程,就像是一套执行模板一样,第一步该做什么,第二步该做什么都已经在抽象类中定义
好。而子类可以有不同的算法实现,在框架不被修改的情况下实现某些步骤的算法替换,下面以打开计算机这个动作来简单演
示一下模板方法。打开计算机的整个过程都是相对固定的,首先启动计算机电源,计算机检测自身状态没有问题时将进入操作
系统,对用户进行验证之后即可登录计算机,下面我们使用模板方法来模拟一下这个过程:
抽象的 Computer
/**
* 抽象的 Computer
*/
public abstract class AbstractComputer {
//下面是抽象方法,子类可以覆盖,不允许外部直接调用这些方法,所以用protected
/**
资源评论
weixin_38551143
- 粉丝: 3
- 资源: 938
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功