MVP

作者: 我在等你回复可你没回 | 来源:发表于2019-04-30 23:22 被阅读0次

    google官方例子

    https://github.com/googlesamples/android-architecture

    mvp的简单例子

    https://blog.csdn.net/singwhatiwanna/article/details/80841705
    个人理解
    model:主要是提供数据,可以是回调等方式反馈给presenter。
    presenter:持有model的引用,发起获取数据的动作。

    MVVM的架构图

    image.png

    与MVP的区别,ViewModel相当于mvp架构中的presenter,只不过不持有view的引用,而是通过databinding的方式更新ui。

    MVP架构中的base是做什么用的?

    用来做一些基础的操作。
    例如BaseMVPActivity就是用来创建presenter,为了可扩展,使用了泛型,谁继承了他,生成的present就是什么类,可以可以,很牛

        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(getLayoutID());
            mPresenter = createPresenter();
            if (mPresenter instanceof BasePresenter) {
                delegate = new WeakReference<BasePresenter>((BasePresenter) mPresenter);
            } else {
                throw new IllegalArgumentException("Presenter must extends BasePresenter");
            }
            bindViews();
            preCreate(savedInstanceState);
            delegate.get().onCreate(savedInstanceState);
            postCreate(savedInstanceState);
        }
    

    还有一些present和view共同的操作就用implentment来实现。

    相关文章

      网友评论

          本文标题:MVP

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