アーキテクチャ層(企業開発中)。コンセプト、定義、プレゼンテーション

今日では、「アプリケーション層」や「抽象層」などの概念の簡潔で明確な定義を見つけることは困難です。これは、開発者間でこの概念の同じまたは誤解の理解の違いを伴います。そして誤解は意見の不一致につながります。



この記事の目的は、協力して確実性を生み出し、すべての人に共通のビジョンを作成し、エンタープライズアプリケーションの分野におけるアーキテクチャレイヤーの短く明確で実用的な定義を考え出すことです。コメントで記事に記載されているすべてのことについて話し合い、補足することができます。コメントに従って記事の資料を更新します。



エンタープライズアプリケーションのアーキテクチャをレイヤーに分割すると、
  • - , ,
  • ,
  • , ,


, .





階層化アーキテクチャを使用する場合の現在の混乱は何ですか。
  • , 3: , -, —
  • , , , , ,
  • (layer), (tier), . , ,


« » « » « ».





アーキテクチャレイヤー(企業アプリケーション) は、特定の(目的によって制限され、閉じられた)リソースのセット(リソース、パーツ、コンポーネントを操作するためのツール)であり、このレイヤーに特徴的な適用されたタスクのセット(基準によって制限されます)が実装されます。上位層は、下位層のリソースに基づいてそのコンポーネント(リソース)を実装します。特定のレイヤーのリソースは相互に互換性があり、そのレイヤー内でのみ使用されます(理想的には)。親レイヤーは、複数のレイヤーのリソースを使用して独自のリソースを作成できます。これは、スキーマの形式で存在する抽象的な理想化されたシステムに関連する場合もあれば、実装に関連する場合もあります。これにより、レイヤーのコンポーネントが決まります。



レイヤーコンポーネント:



  • レイヤーが実装に関連している場合:クラス、オブジェクト、コンテキスト、サービス、コントローラー、プロキシ、アセンブリ..。
  • レイヤーが抽象化に関するものである場合:データモデル(理想化)、アクション..。


特徴的な建築層は何ですか:



  • 適用される目的、具体的、論理的、特定のレイヤーに起因する可能性のあるさまざまなタスクを定義します
  • 特定のレイヤーに実装された特定のタスクのセット
  • タスクを実装するためのリソースとツール:データ、オブジェクト、およびデータとオブジェクトに対して実行できるアクション
  • 特定のレイヤー内のデータとロジックは、それ自体で一貫しています
  • 一貫性は、特定のレイヤーのリソースの相互作用における予測可能性と事前決定を決定します。言い換えると、レイヤーが形成される詳細は互いに互換性があります。
  • 別のレイヤーは、単一の自給自足の全体として認識できます
  • レイヤー間の依存関係を最小限に抑えることができます
  • 作成されたレイヤーは、いくつかの異なる親レイヤーの基礎になることができます
  • あるレイヤーから別のレイヤーに移動するとき、モデル化されたエンティティは通常、あるビューから別のビューに変換されます


アーキテクチャレイヤーの設計順序について簡単に説明します。



  1. すべてのビジネス要件が強調表示され、カテゴリに構造化されています。
  2. 要件は、アプリケーションによって解決されるタスクに分割されます。
  3. タスクは、主題の目的の類似性に基づいて分類およびグループ化されます。
  4. これらのカテゴリに基づいて、タスクが解決されるアーキテクチャ層の一般的な目的が強調表示されます。
  5. 問題解決は、望ましい結果をもたらすアルゴリズムまたはプロセスと考えることができます。すべてのタスクの中で、共通のコンポーネント(詳細)が区別され、そこから実装されます。(モデルとそれらに対するアクション)。これがどのように行われるかについての追加の記事があります。
  6. 選択したコンポーネントに基づいて、対応するレイヤーのクラスが実装され、原則として、1つの別個のアセンブリに結合されます。




の例
1.



ISO/OSI



2.



,



  • : , ,
  • (, , )


image



3.







1 — , , , ,

2 — , — , …

3 — , , — : , ,



() , (, , ) (, ).



, . 3 (, , ), . , , , .




All Articles