Javaを見る3層アーキテクチャ


  
  3層アーキテクチャモデルの  概要3
  
  層アーキテクチャモデル:3層アーキテクチャ(3層アーキテクチャ)通常の3層アーキテクチャは、ビジネスアプリケーション全体をインターフェースレイヤー(ユーザーインターフェースレイヤー)、ビジネスロジックレイヤー(ビジネスロジックレイヤー)に分割することです。 、データアクセスレイヤー(データアクセスレイヤー)。層を区別する目的は、「高凝集性と低結合」のアイデアです。ソフトウェアアーキテクチャの設計では、階層構造が最も一般的で最も重要な構造です。Microsoftが推奨する階層構造は、通常、データアクセスレイヤー、ビジネスロジックレイヤー(ドメインレイヤーとも呼ばれます)、プレゼンテーションレイヤーの3つのレイヤーに分かれています。
  
  プレゼンテーション層(JSP):
  
  インターフェース層とも呼ばれるプレゼンテーション層は、ユーザーに最も近い最外層(最上層)にあります。これは、データを表示し、ユーザーが入力したデータを受信し、ユーザーにインタラクティブな操作インターフェースを提供するために使用されます。
  
  ビジネス層(ロジック層、サービス層):
  
  ビジネスレイヤー(ビジネスロジックレイヤー)は、間違いなくシステムアーキテクチャのコアバリューです。その焦点は主に、ビジネスルールの定式化やビジネスプロセスの実現などのビジネス要件に関連するシステム設計、つまりシステムが応答するドメインロジックに関連しています。多くの場合、ビジネスロジックもこの層はドメイン層と呼ばれます。たとえば、本「エンタープライズアプリケーションアーキテクチャのパターン」では、Martin Fowlerがアーキテクチャ全体をプレゼンテーションレイヤー、ドメインレイヤー、データソースレイヤーの3つの主要なレイヤーに分割しています。ドメイン駆動設計のパイオニアであるEric Evansは、ビジネスロジックレイヤーをより詳細に分割し、アプリケーションレイヤーとドメインレイヤーに細分し、さらにレイヤー化によってドメインロジックとドメインロジックソリューションを分離しました。システムアーキテクチャにおけるビジネスレイヤーの位置は重要で、データアクセスレイヤーとプレゼンテーションレイヤーの間にあり、データ交換とプレゼンテーション間のリンクとして機能します。層は弱く結合された構造であるため、層間の依存関係は下向きになります。最下層は上層に対して「無知」です。上層のデザインを変更しても、呼び出される最下層には影響がありません。レイヤー指向の設計でインターフェース指向の設計の考え方が採用されている場合、この下向きの依存関係も弱い依存関係になるはずです。したがって、インターフェースの定義を変更することなく、理想的な階層化アーキテクチャーは、抽出および置換可能な「ドロワー」アーキテクチャーでなければなりません。このため、ビジネスレイヤーは2つの異なる役割を果たすため、スケーラビリティをサポートするアーキテクチャにとってビジネスレイヤーの設計は特に重要です。データアクセスレイヤーの場合は呼び出し元、プレゼンテーションレイヤーの場合は呼び出し先です。依存関係と依存関係の関係はビジネスレイヤーで絡み合っており、依存関係の分離を実現する方法は、ビジネスロジックの実現に加えて、設計者に残された作業です。
  
  永続化レイヤー(DAO):
  
  データアクセスレイヤーと呼ばれることもある永続化レイヤーは、主にデータベースアクセスを担当し、データベースシステム、バイナリファイル、テキストドキュメント、またはXMLドキュメントにアクセスできます。エンティティークラスとデータベーステーブルマッピング(ORMマッピング)を確立するためにDAOモードを採用します。簡単に言うと、データテーブルに選択、挿入、更新、削除操作を実装することです。ORM要素を追加する場合は、オブジェクトとデータテーブル間のマッピング、およびオブジェクトエンティティの永続性が含まれます。
  
  レイヤー3とMVCの違い:
  
  多くの人は3レイヤーモデルとMVCモデルを混同しやすいですが、レイヤー3とMVCの最も大きな違いは、レイヤー3にコントローラーの概念がないことです。これらはアーキテクチャレベルでもありますが、3つの層はすべてMVCと同じですが、すべてにプレゼンテーション層がありますが、違いは他の2つの層にあります。MVCは、ビジネスの論理的なアクセスを2つの層とは見なしません。これは、3層アーキテクチャまたはMVCを使用してプログラムを構築する場合の主な違いです。もちろん、モデルの概念は第3層でも説明されていますが、3層アーキテクチャーのモデルの概念はMVCのモデルの概念とは異なります。「3層」の典型的なモデル層はエンティティクラスで構成され、MVCここでは、ビジネスロジックとアクセスデータで構成されています。
  
  3つのレイヤーでは、JSPおよびサーブレットコードはプレゼンテーションレイヤーに属し、ビジネスロジックレイヤーはビジネスルールを完成させるエンティティクラスであり、データアクセスレイヤーはJDBCおよびその他のコードです。回路図:
  
  テクニカルピクチャー
  
  3レイヤーアーキテクチャは、さまざまなレイヤーのビジネス責任を分離します。徹底的に、ロジックレイヤーにはビューレイヤーコードのビットが含まれておらず、同じデータレイヤーにロジックレイヤーコードのビットが含まれていてはなりません。他のレイヤーのコードが含まれている場合、完全に分離することはできず、ある程度のカップリングがまだあります。セックス。
  
  3層アーキテクチャはモジュール式プログラミングをより適切に実装し、3層アーキテクチャで設計されたシステムは、特にPC側に複数のデバイスがあり、適切に階層化されていない場合、複数のデバイスによるアクセスに適応できないため、拡張と交換が容易です。たとえば、Web指向のプレゼンテーションレイヤーにjsp +サーブレットを使用します。Webがいつか行われない場合は、プレゼンテーションレイヤー全体をデスクトップ上のグラフィックディスプレイに置き換える必要があります。次に、3層アーキテクチャーを使用する場合は、プレゼンテーションのみを置き換える必要があります。レイヤーのみ使用でき、ロジックレイヤーとデータレイヤーの両方を再利用できます。階層化されていない場合、さまざまなモジュールが結合されて再利用できないため、非常に時間と手間がかかるデスクトップに対応するシステムのみを書き直すことができます。
  
  WebServiceはクロスプログラミング言語であり、クロスオペレーティングシステムプラットフォームのリモート呼び出しテクノロジであることは誰もが知っています。システムが3層アーキテクチャを使用して設計されている場合、論理層はWebServiceによって他の言語で記述されたアプリケーションと共有できます。
  
  最近人気のあるWeChatアプレットはhttpsを介してサーバーにアクセスします。サーバーはjsonデータを返す必要があり、ビューレイヤーのサーブレットでこのアクセスを受け取り、処理後にjsonデータを返すことができます。
  
  3層開発モデルの
  
  長所と短所
  
  1.開発者は、構造全体の1つのレイヤーのみに集中できます
  
  。2.元の階層の実装を新しい実装に置き換えるのは簡単です。3 .
  
  レイヤーとレイヤーを減らすことができます。相互依存性;
  
  4.標準化の促進;
  
  5.すべてのレベルでのロジックの再利用の促進。
  
  6.構造がより明確になる
  
  7.後のメンテナンス期間で、メンテナンスコストとメンテナンス時間が大幅に削減される
  
  短所:
  
  1.システムのパフォーマンスが低下する。これは自明です。階層構造を使用しない場合、多くの企業はデータベースに直接アクセスして対応するデータを取得できますが、中間層を介して完了する必要があります。
  
  2.時々、それはカスケードの変更につながります。この変更は、特にトップダウン方向に反映されます。関数をプレゼンテーション層に追加する必要がある場合、その設計が層構造に準拠するようにするために、対応するコードを対応するビジネスロジック層とデータアクセス層に追加する必要がある場合があります。
  
  たとえば、レストランが料理を追加する場合、メニュー(UI)、シェフ(BLL)、および購入(DAL)はそれに応じて処理する必要があります。

おすすめ

転載: www.cnblogs.com/avav12356/p/12717009.html