android常用设计模式之模板方法模式

一.定义

模板方法模式定义了一个算法的步骤,并允许子类为一个或者多个步骤提供实践方法,让子类在不改变算法结构的情况下重新定义算法中的某些步骤。

 

二.使用场景

一系列方法中有通用的方法,又有个别使用的方法时。

 

三.优缺点:

优点:

1.提高代码的复用性

2.提高了扩展性

缺点:

每一个不同的实现都需要一个子类来实现,导致类的个数增加,增加了系统的复杂度。

 

四.角色

1.抽象类:定义了一整套算法框架

2.具体实现类:根据需要去实现抽象类中的方法

 

五.案例说明

举办某个比赛:

抽象方法:


/**
 * 模版方法模式-比赛中的方法
 */
public abstract class Match {
    protected void enroll(){
        System.out.print("报名比赛");
    }

    protected void start(){
        System.out.print("开始比赛");
    }

    protected void end(){
        System.out.print("结束比赛比赛");
    }


    protected void award(){
        System.out.print("领奖");
    }

}
 

2.具体实现方法:

public class TakeOne extends Match{
    @Override
    protected void enroll() {
        System.out.print("one 报名比赛");
    }

    @Override
    protected void start() {
        System.out.print("one 开始比赛");
    }

    @Override
    protected void end() {
        System.out.print("one 结束比赛");
    }
}

 

public class TakeTwo extends Match{
    @Override
    protected void enroll() {
        System.out.print("two 报名比赛");
    }

    @Override
    protected void start() {
        System.out.print("two 开始比赛");
    }

    @Override
    protected void end() {
        System.out.print("two 结束比赛");
    }

    @Override
    protected void award() {//two获奖了所以有领取奖品的方法
        System.out.print("two 领取奖品");
    }
}

 

六.在Android中的应用:

模版方法模式在Android中很多地方都有用到,比如:

1.android  View的绘制方法

2.activity的生命周期:

我们知道activity的生命周期有onCreate()-onStart()-onResume()-onParse()-onStope()-onDestroy,其中onCreate()是必须要实现的方法,

其他的方法根据需求来使用。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值