美文网首页
设计模式-模板设计模式

设计模式-模板设计模式

作者: woochen123 | 来源:发表于2017-10-09 09:17 被阅读0次

    定义:

    完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。(实质就是继承的思想)

    代码

    public abstract class BaseActivity extends AppCompatActivity {
        protected Context mContext;
        protected Unbinder unbinder;
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mContext = this;
            setContentView(setContentView());
            unbinder = ButterKnife.bind(this);
            initView();
            initData();
        }
    
        /**
         * 设置布局
         */
        protected abstract int setContentView();
    
        /**
         * 启动activity
         *
         * @param clazz
         */
        protected void startActivity(Class<?> clazz) {
            Intent intent = new Intent(this, clazz);
            startActivity(intent);
            overridePendingTransition(R.anim.alpha_enter, R.anim.alpha_exit);
        }
    
        /**
         * 初始化布局
         */
        protected abstract void initView();
    
        /**
         * 初始化数据
         */
        protected abstract void initData();
    
    
        @Override
        public void onBackPressed() {
            back();
        }
    
        /**
         * 返回
         */
        protected void back() {
            finish();
            overridePendingTransition(R.anim.alpha_enter, R.anim.alpha_exit);
        }
    
        @Override
        protected void onDestroy() {
            unbinder.unbind();
            super.onDestroy();
        }
    }
    

    源码中的应用

    AsyncTask

    相关文章

      网友评论

          本文标题:设计模式-模板设计模式

          本文链接:https://www.haomeiwen.com/subject/yzsuyxtx.html