代码之家  ›  专栏  ›  技术社区  ›  Johann

在Dagger/MVP应用程序中放置业务逻辑的位置

  •  1
  • Johann  · 技术社区  · 7 年前

    看过很多Dagger演示应用程序后,我不清楚业务对象放在哪里。在典型的三层应用程序中,您有ui、业务层和数据访问层。MVP本质上是一个三层架构。

    Dagger处理组件和模块,我见过演示应用程序将业务逻辑放在模块中。但是根据MVP架构,业务逻辑属于Presenter层,因为假定该层充当ui和模型之间的桥梁。许多演示应用程序的模型只包含一个带有公共字段的类,用于存储和检索数据。

    有人能澄清一下这样做的正确方式吗。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Dmytro Ivanov    5 年前

    按照Bob叔叔描述的干净体系结构,所有包含业务(域)逻辑(规则)的代码都应该在业务层中。


    表示层: 和

    -演讲者 -处理视图意图(按钮单击、视图渲染等),在收到交互者的结果后,调用业务交互者,表示查看以渲染屏幕/布局的当前状态。
    -只不过是呈现UI,保持视图愚蠢,所有视图逻辑都应该在presenter中。

    示例案例: 在该层中,您可以检查例如:user oped cart屏幕,您的表示层向interactor发出请求,interactor返回购物车项目。如果列表为空,则视图显示标题为“您的卡为空”的布局,否则显示项目列表。

    业务/域层: 、助手类等)

    第一条规则 保持你的域名层纯洁。如果使用gradle,则可以使用具有空依赖项的多个模块。只有语言,rxjava,因为它几乎是我们这个时代的标准。


    数据层:


    如果你的应用程序不包含很多业务规则,你可以避开业务层。这取决于项目。

    使用坚实的原则也很重要。它将使您的体系结构易于理解、灵活和维护。阅读更多 here