日更(二十三)-Android-所谓的Base类,模板方法模式

2019-01-23  本文已影响0人  Jlanglang

瞎扯

设计模式难吗?
其实就这么些东西....
都是经常见到的东西..
源码难懂吗?
框架的设计离不开这些设计模式.

模板方法模式.

猛的一问,没接触过设计模式的人可能会懵.
什么玩意..

其实呢,这个模式的概念就是父类抽象.子类实现.按固定规则执行.
比喻模板.

模板

顾名思义.
有了模板就能基于模板复制类似的东西.

我们常写的封装.
比如BaseActivity.BaseFragment.BaseDialog.SimpleAdapter之类的封装.
都能看成模板方法模式.

写个简单的BaseActivity

 public abstract class BaseActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            initView();
            loadData();
        }

        /**
         * 加载数据
         */
        abstract void loadData();

        /**
         * 初始化View
         */
        abstract void initView();
    }

loadData (),initView()就是模板方法.

并且模板方法按规则,调用.


那么不是Base之类的就不是模板方法吗?
不是.

应该说只要是把内容抽象可扩展,要子类去实现的,都算模板方法模式.

Activity.Fragment之类的.本身就是模板方法模式.

onCreate,onstart,onstop这些生命周期方法.不就是交给子类去实现复写嘛.

总结:

两个字: 继承 哈哈

把具体的实现交给子类.


交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.

上一篇 下一篇

猜你喜欢

热点阅读