n 層アプリケーションのレイヤーにデータを渡すにはどうすればよいでしょうか? 私は3つの異なる方法を計画しました。
A) ジェネリック .net オブジェクト ジェネリック データ テーブル、ハッシュテーブル、ジェネリック データセット、文字列、int など... 次に、データセットを使用して、UI レイヤーに送信されるビジネス オブジェクトを埋めます。
代替テキスト http://img11.imageshack.us/img11/460/generic.png
http://dabbleboard.com/draw?b=eiu165&i=26&c=54eef6f1ac01f03c85919518f4a24e798e57e133
Pro-追加のレイヤーは必要ありません Con-ビジネスレイヤーで一般的なデータセットとテーブルを操作する必要があります
B) 他のレイヤーが参照するエンティティ レイヤーを使用する。このレイヤーには、厳密に型指定されたデータセットまたはプレーン オールド C オブジェクトのいずれかが含まれます。オブジェクトはほとんどがコンテナ データで、ロジックはほとんどありません。これらは、UI レイヤーに送信されるオブジェクトと同じです。
代替テキスト http://img8.imageshack.us/img8/6454/entities.png
http://dabbleboard.com/draw?b=eiu165&i=6&c=d0c2b346894a96b12bd3867f630e474a2af098fa
すべてのレイヤーで同じクラスを使用するプロ作業 すべてのレイヤー にentities.dllへの参照を追加する
C) DataAccess Layer で定義されたデータ転送オブジェクト (コンテナ オブジェクトのみ) を使用します。次に、これらのオブジェクトを使用して、UI レイヤーに送信されるビジネス オブジェクトを埋めます。
代替テキスト http://img43.imageshack.us/img43/1236/transferp.png
http://dabbleboard.com/draw?b=eiu165&i=27&c=f886efa3f9d5eb4b45ddb02361c79cdcdaec0a9b
プロ- ビジネス層は一般的なクラスで 動作する必要はありません 2 種類のオブジェクトを扱う場合、転送オブジェクトでビジネス オブジェクトをハイドレートする必要があります
私たちは職場で議論を行い、コミュニティがどう考えているかを知りたがっていました。ダブルボードへのリンクも追加しました。編集ではなくコピーして作成してください。
ありがとう