Android MVP优化

Android MVP optimization

我刚刚开始在 android 开发中使用 MVP。根据网上找到的不同教程,我为每个片段创建了 5 个(viewInterface、presenterInterface、presenterImpl、interector 和 interectorImpl)文件。有什么办法可以减少这些文件的数量吗?

谢谢

是的-不要做任何你正在做的事情。 MVP 对于某些用例来说是一个很好的模式,但没有理由超过 3 classes——一个模型、一个视图和一个演示者。任何深入到这种深度的教程都过于正式,实际上是有害的教程。

Android基本上默认就是MVP。您的演示者就是您的 Activity class。您的视图就是您的布局 - 视图的层次结构 classes。您的模型是您 运行 您的应用程序所需的任何数据。

不要拘泥于对模式过于正式的解释,也不要应用模式来应用模式。模式的真正使用并不是让您的应用程序看起来像那样的目标,模式的真正使用是一种描述您对其他人所做的事情的方式 architects/programmers。你永远不应该看着一个模式并试图找到使用它的方法,或者看着一个问题然后思考 "what patterns can I use"。你应该看到一个问题,想到一个解决方案,那可能就是一个模式。当您准备好研究模式时,您应该已经在代码中看到了其中的绝大多数。

因为您已经了解了 Clean Architecture 的基础知识。以下示例描述了您的 MVP 模式是如何实际实施的。

示例:

interface BaseContract {
        interface BaseView {
            //Methods for View
            void onDoSomething();
        }

        interface BasePresenter {
            void doSomething();

        }
    }

    class BaseMainPresenter implements BaseContract.BasePresenter {
        BaseContract.BaseView view;

        BaseMainPresenter(BaseContract.BaseView view) {
            this.view = view;
        }

        @Override
        public void doSomething() {
            if (view != null)
                view.onDoSomething();
        }
    }

    class DemoClass implements BaseContract.BaseView {

        //Create object of Presenter 

        /****
         * Example :
         * BaseMainPresenter baseMainPresenter = new BaseMainPresenter(this);
         */
        @Override
        public void onDoSomething() {
            //Deal with Context here.
        }
    }

您可以参考以下内容作为 MVP 模式 link :-