アプリケーションの階層化
1. [推奨] デフォルトでは、図の上位層は下位層に依存しており、矢印の関係は直接依存できることを示しています。たとえば、オープン インターフェイス層は
# に依存できます。 ##Web 層、またはサービス層に直接依存することも可能、など アナロジー:- オープン インターフェイス層: サービス インターフェイスは次のことができます。直接カプセル化して RPC インターフェイスに公開する、Web 経由で http インターフェイスにカプセル化する、ゲートウェイ制御
層など。
#ターミナル表示レイヤー: 各ターミナルのテンプレートは表示レイヤーをレンダリングして実行します。現在、主なものは、ベロシティ レンダリング、JS レンダリング、JSP レンダリング、モバイル ディスプレイ レイヤーなどです。 #Web 層: 主に転送アクセス制御、各種基本パラメータの検証、または非再利用サービスの単純な処理など。
- サービス層: 比較的特殊なビジネス ロジック サービス層。
- マネージャー層: 以下の特性を持つ一般的なビジネス処理層:
- 1) サードパーティ プラットフォームによってカプセル化された層の場合、前処理は結果と変換例外情報を返します;
細かい例外でキャッチすることは不可能です。 ) メソッドを実行して new DAOException(e) をスローすると、ログを出力する必要はありません。
ログはマネージャー/サービス層でキャプチャされ、ログ ファイルに記録される必要があるためです。同じサーバーが再度ログを記録する場合、パフォーマンスとストレージの無駄。サービス層で例外が発生した場合、ログ情報をディスクに記録し、パラメータ 情報を可能な限り含める必要があります。これは、犯罪現場を保護することに相当します。 Manager 層とサービスが同じマシンにデプロイされている場合、ログ記録方法は DAO 層の処理と一致します。 別々にデプロイされている場合、ログ記録方法はサービスと一致します。 Web レイヤーは例外をスローし続けることはできません。Web レイヤーはすでに最上位レベルにあるため、例外の処理を続行する方法はありません。この例外によりページが正常に表示されなくなることに気付いた場合は、 その場合は、わかりやすいエラー ページに直接ジャンプし、わかりやすいエラー メッセージを追加してみてください。オープン インターフェイス層は例外を処理し、エラー コードとエラー メッセージの形式で例外を返す必要があります。 3. 【参考】階層型ドメインモデル仕様書:
DO (データ オブジェクト): データベースのテーブル構造に 1 対 1 で対応し、データ ソース オブジェクトを DAO 層を通じて上向きに送信します。
DTO (データ転送オブジェクト): データ転送オブジェクト、サービスおよびマネージャーによって転送されるオブジェクト。
BO (ビジネス オブジェクト): ビジネス オブジェクト。サービス層によって出力できるビジネス ロジックをカプセル化するオブジェクト。
QUERY: データ クエリ オブジェクト。各レイヤーは上位レイヤーからクエリ リクエストを受け取ります。注: 送信に Map クラスを使用する では、3 つ以上のパラメーターを含むクエリのカプセル化が禁止されています。
VO (ビュー オブジェクト): 表示レイヤー オブジェクト。通常は Web によってテンプレート レンダリング エンジン レイヤーに送信されるオブジェクトです。