【问题标题】:Too many objects to separate UI, domain, and data layers太多对象无法分隔 UI、域和数据层
【发布时间】:2016-07-18 19:32:17
【问题描述】:

我正在设计我的 Android 应用程序来分别为 Web 服务、数据库、域和 UI 创建模型/实体类。

我会将我的 Web 服务对象转换为域对象。然后在我有回收站视图的地方,我为我的域中的每一行创建 UI 模型对象,这将是一个子集。

https://developer.android.com/training/articles/perf-tips.html#ObjectCreation

我也遇到过https://github.com/PaNaVTEC/Clean-Contacts,这是一个严格分隔每一层的示例代码库。

我知道这是性能和设计之间的权衡,但有什么建议?我真的很喜欢这个设计,但我关心的是实例化对象的数量。

【问题讨论】:

    标签: android performance domain-driven-design mvp


    【解决方案1】:

    我对此的看法是,在应用程序的不同层之间共享实体是可以的,只要这样做不会泄露层之间的实现细节。

    我很乐意分享这样的课程:

    public class Product {
    
        private String name;
        private BigDecimal price;
        private boolean isInStock;
    
        //..
    }
    

    但不会共享一个类,例如:

    public class MyNetworkLibraryResponse<T> {
    
        private int status;
        private Throwable error;
        private T data;
    
        //...
    }
    

    如果您决定将MyNetworkLibrary 换成ShineyNewNetworkLibrary,您很快就会失败。

    Product 但是将是您的域的一个组成部分。除非您需要跨业务域重复使用 View 代码,否则最好共享它而不是创建ProductViewModel

    【讨论】:

      猜你喜欢
      • 2013-03-06
      • 1970-01-01
      • 2014-08-10
      • 2011-04-12
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多