C# winforms アプリケーションで MVP パターンを使用していますが、次の設計上の問題に遭遇しました。User
ドメイン内にクラスUserCollectionDAO
があり、基本的にすべてのユーザーにデータベースから他の情報をロードするクラスがあります。プレゼンターを介してビューにユーザーのコレクションを表示するときに、すべてのプロパティを表示したくありません。たとえば、私のユーザーには次のプロパティがあります。
class User
{
public User(int id)
{
Id = id;
}
public int Id { get; private set; }
public string Name { get; set; }
public LocationId { get; set; }
}
私Listview
のユーザーに表示したいのは、システム内の別のデータ構造から取得できる名前と場所の名前です。同時に、アプリケーションの他の領域で LocationId と Id を使用したいと考えています。使用する必要があるかもしれない別のレイヤー、DTO オブジェクトのレイヤーについて読みました。それについてのあなたの意見は何ですか?私が望むものを達成する別の方法を見つけることができますか? ビューから DTO ユーザー インスタンス、ドメイン ユーザー インスタンスに情報を渡すにはどうすればよいですか?
どんなアイデアでも大歓迎です。