模板方法模式 template method pattern

       我对模板方法模式的理解,其本质上是一个标准化的过程


       所谓标准化是指在经济、技术、科学和管理等社会实践中,对重复性的事物和概念,通过制订、发布和实施标准达到统一,以获得最佳秩序和社会效益。来自百度百科


      从百度百科的定义上,可以发现的关键点是重复性的事物和概念,在客户端人机交互应用程序的开发上。都有界面的概念,并且往往不会只存在一个界面,每一个界面的初始化启动,都是一个重复的过程,在这个点上我们就可以抽象出一个标准化的算法过程,让所有的界面都遵循该算法。


       模板方法模式,顾名思义。该模式里面有个方法叫模板方法,另外还有些方法叫基本方法:基本方法也叫做基本操作,是由子类实现的方法,并且被模板方法调用。模板方法里对这些基本方法的调用顺序可以理解为标准化的核心。

public abstract class BaseActivity extends Activity {
    public static String TAG = "BaseActivity";

    /*
    * we use template method pattern,the function onCreate() is a template method pattern*/
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initVariables();
        initView();
        loadData();
    }

    //初始化变量,包括Intent带的数据和Activity内的变量
    protected abstract void initVariables();

    //加载layout布局文件,初始化控件,为控件挂上事件方法
    protected abstract void initView();

    //调用服务器API加载数据
    protected abstract void loadData();

}

       实战,在Android开发中,一个APP大多数情况下有不止一个Activity,每一个Activity的初始化过程可以被标准化,定义一个Activity的基类。

  

       其实这里为了防止恶意的操作,一般模板方法都加上final关键字,不允许被覆写。后续的Acitivity都需要继承BaseActivity。实现三个基本方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值