3層モデル(プレゼンテーション-ビジネス-データアクセスレイヤー)では、一貫して下位レイヤーを上位レイヤーに依存しないようにすることができます。たとえば、私のデータアクセス層は、それがどのように表示されるか、またはどのビジネスルールがその上で操作されるかを決して知りません。私のビジネスルールは、それらがどのように提示されるかに依存していません。
しかし、私はDemeterに許しを祈るか、少なくともStackoverflowの仲間にアドバイスを求めなければなりません。プレゼンテーション層のデータアクセスオブジェクトを参照せずに、ユーザーに「テーブル」を提示するにはどうすればよいですか。何度も、GridViewオブジェクトでADO.NETDataTableを参照していることに気付きます。現在、両方のレイヤーでサードパーティのツールを使用しています。テーブルは、OpenLinkのOpenComponentsテーブルオブジェクトからのものです。グリッドはInfragisticsUltraGrid(Windowsプラットフォーム)です。しかし、私は同じ違反で有罪です。
編集: 私はこれがWinForm3.5.NETでどのように行われるかについて特に興味があります。以下の私のコメントに注意してください。コメント内のリンクは私がすべきことだと思いますが、ドメインオブジェクトに夢中になる必要がないことを望んでいました。過剰なデザインで非難されたくありません。これは良いバランスですか?