1

上記を行うには簡単なパターンが必要です。注意事項:

1)実際のデータの取得を行うクラスを使用する義務があり、DataTableを返します

2) 考えられるすべてのデータベース タイプをサポートする汎用インターフェイスには関心がありません。1 つのデータベース タイプに固執しています。

3) エラーをエレガントにトラップし、エラーが発生したことをユーザーに通知するにはどうすればよいですか。

4) MVC の学習を勧めないでください。現在、MVC はオプションではありません。

実際のパターンデザインに興味があります。

4

3 に答える 3

1

MVCパターンを使用してビジネス ロジックをプレゼンテーションから分離し ( ASP.NET MVC Frameworkについて話しているのではないことに注意してください)、DAOパターンを使用してビジネス ロジックをデータ アクセスから分離します。

DataTable を返すクラスは、モデルの一部になります。DataTable を受け取り、それをさまざまなドメイン オブジェクトに変換するレイヤー (各ドメイン オブジェクトの DAO) を記述します。UI には、ユーザーに出力を表示する以上のことを行うロジックを含めないでください。モデルからデータを取得するための実際のロジックはすべてコントローラー層で処理され、ユーザーが要求しているデータをモデルから取得し、それを適切なビューに送信してユーザーに提示します。

例外は層の境界で処理する必要があります。それをキャッチして何かを行うか (ログに記録してユーザーをエラー ページに送るだけかもしれません)、必要に応じて上位レベルの例外をラップします。

于 2009-04-06T22:14:04.463 に答える
0

あなたが説明するものに近づく多くのパターンがあります。Martin Fowler の優れた本、Patterns of Enterprise Architecture、特に Chapter 14. Web Presentation Patterns のコピーを入手することをお勧めします。プレゼンテーション、ドメイン (ビジネス ロジック)、およびデータ ソースを真剣に分離しようとすると、同じテーマの多くのバリエーションの 1 つにつながることがわかります。

MVC、MVP、ビジュアル プロキシなどはすべて 3 つのレイヤーに分かれており、異なるのは各レイヤーの責任とレイヤー間の通信方法です。

たとえば、パッシブ ビューパターンは基本的に、UI レイヤーからプレゼンテーションに直接関係のないものを取り除きます。典型的な例は、特定の条件が真の場合に強調表示するフィールドです。パッシブ ビューでは、フォームには、フィールドを強調表示するかどうかを決定するロジックのみが含まれます。この状態をトリガーするビジネス ルールは、実際のビューに直接依存しないプレゼンター/コントローラー レイヤーにあります。

データ ソース レイヤーに関する限り、主な利点は、データベースを簡単に切り替えることができないことです。主な利点は、データベース スキーマへの変更がデータ ソース層にのみ影響し、アプリケーションの残りの部分には影響しないことです。データセットに行き詰まっている場合、良いアプローチはテーブル データ ゲートウェイパターンです。

于 2009-04-14T21:27:01.563 に答える
0

MVC の学習を勧めないでください。現在、MVC はオプションではありません。

ASP MVC フレームワークを使用せずに、単純な MVC または MVP パターンを実行できます。紹介するのはとても簡単です。これは非常に単純な例ですMVP の例

于 2009-04-06T23:05:25.477 に答える