美文网首页
Clean 构架

Clean 构架

作者: xinwa | 来源:发表于2020-07-21 21:04 被阅读0次

    clean 架构是一种"分层架构",源代码依赖只能由外部指向内部,内部圈子里人是不知道外部圈子的任何东西的。
    特别是声明在外部圈子中的类、函数、变量或者其他软件实体。

    image2020-6-21_15-5-29.png

    Entities: 表示具体的业务规则
    Use Cases: 该层包含应用程序特定的业务规则,它封装并实现了系统的所有用例。这些用例
    决定着实体中数据的流动。 这一层的变动不应该影响到实体,同时也不应该受到外层的影响。
    Presenters: 在这一层,数据从对实体和用例最方便的形式转换为方便外部 UI 的格式。我们通常
    使用 MVC 、MVP、MVVM 等 UI 框架。

    在 Android 中应用
    为保持业务规则对外部世界一无所知来实现关注点分离,以便在不依赖与外部元素的情况下进行测试,
    建议将项目分为 3 个不同的层次,每次层次都有自己的目的,与其他层分开工作。每个层都使用自己的
    数据模型,因此可以实现这种独立性。

    image.png

    Presentation Layer

    进行业务视图的渲染,View 与 动画在这里进行交互。可以使用 MVP 或 MVVM 来实现

    Domain Layer

    所有的业务逻辑发生在这一层,所有的交互(用例)在这里进行实现。该层是一个纯 Java 模块,将不依赖

    任何 android 的东西。

    Data Layer

    应用程序所需要的数据全部来自这一层,比方说通过 id 从网络获取用户的信息。

    优点:

    • Independent of Frameworks. 独立于框架
    • Testable. 可测试的
    • Independent of UI. 独立于用户界面
    • Independent of Database. 独立于数据库
    • Independent of any external agency. 独立于任何外部机构

    相关文章

      网友评论

          本文标题:Clean 构架

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