2016-07-18 3 views
0

私は、Webサービス、データベース、ドメイン、およびUI用にモデル/エンティティクラスを個別に作成するようにAndroidアプリケーションを設計しています。UI、ドメイン、データレイヤーを分離するオブジェクトが多すぎます

私はWebサービスオブジェクトをドメインオブジェクトに変換します。次に私はリサイクラビューを持っているので、サブセットになる私のドメインから各行のUIモデルオブジェクトを作成します。

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

私はまた、厳密にそれぞれの層を分離して一つのサンプルコードベースであるhttps://github.com/PaNaVTEC/Clean-Contactsに遭遇しています。

パフォーマンスとデザインの間にトレードオフがあることは知っていますが、お勧めですか?私は本当にデザインが好きですが、私の懸念はインスタンス化されたオブジェクトの数です。

答えて

0

これは、レイヤ間で実装の詳細が漏れない限り、アプリケーションのさまざまなレイヤ間でエンティティを共有することができます。

私は喜んのようなクラスを共有する:

public class Product { 

    private String name; 
    private BigDecimal price; 
    private boolean isInStock; 

    //.. 
} 

しかし、のようなクラスを共有しません:あなたはShineyNewNetworkLibraryためMyNetworkLibraryを交換することを決定した場合は、すぐに来るだろう

public class MyNetworkLibraryResponse<T> { 

    private int status; 
    private Throwable error; 
    private T data; 

    //... 
} 

元に戻す

Productしかし、あなたのドメインの不可欠な部分です。ビジネスドメイン間でViewコードを再利用する必要がない場合は、複雑さを増すことよりも共有するほうがよいでしょう。ProductViewModel

関連する問題