Android设计模式-14-模板方法模式

1. 定义

定义一个模板结构(框架,关键步骤,固定流程),将具体内容延迟到子类去实现,基于“继承

2. 应用场景

1. 有多个子类共有的方法,且逻辑相子类可以使用父类的所有方法

2. 重要的、复杂的方法,可以考虑作为模板方法

3. 优缺点

  • 优点:
  1. 提高代码复其他和其它的区别用性
    将相同部分的代码放在抽象的父类中,而将不同的代码放入不同的子类中

  2. 实现了反向控制
    通过一个父类调用其子类的操作,通过对子类的具体实现扩展不同的行为,实现了反向控制 & 符合“开闭原则”(1.封装不变部分,扩展可变部分;2. 行子类设计模式有哪些由父类控制,子类实现)

  • 缺点:每一个不同的实现都需要一个子子类调用父类方法必须用super设计模式面试题来实现,导致类的个数增加,使得系统更加庞大父类子类

4. Andorid源码中的使设计模式一般用来解决什么问题

  • AsyncTask:doInBackground方法是必须要重写的,其他的方法如果需要也可以重写,但是若不重写也可以
  • Activity设计模式的生命周期函数

5. 实例演示

以电脑开机过程为例

1. 首先创建一系统/运维个电脑的抽象系统运维工程师类, 其中包含了开机父类方法startUp以及几个相关的子步骤方法

2. 创建两个实现类,这里分别以苹果的MAC和设计模式中代理模式分为戴尔的Dell为例


                                            Android设计模式-14-模板方法模式

3. 分别创建两个电脑实例,调用开机方法

上面的代码是非常简单的,主要是理解模版方法模式的思想,以及平时的使用场景

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章系统运维工作内容