ヘキサゴナルアーキテクチャ図は、疎結合のアプリケーションコンポーネントを作成することを目的としたソフトウェア設計で使用されるアーキテクチャパターンです。このアプローチは、従来の階層化アーキテクチャに代わるものです。これは、DDD(ドメイン駆動設計アーキテクチャ)の多くの形式の1つです。
ヘキサゴナルアーキテクチャは、レイヤー間の望ましくない依存関係やビジネスロジックによるユーザーインターフェイスコードの汚染など、オブジェクト指向ソフトウェア設計における既知の構造上の落とし穴を回避するために、2005年にAlistairCockburnによって発明されました。その背後にある考え方は、入力と出力を設計の端に置くことです。そうすることで、アプリケーションの中央ロジック(コア)を外部の問題から分離できます。エッジでの入力と出力は、コアコードを変更せずにハンドラーを交換できることを意味します。
上の図に示すように、アプリケーションは全体として六角形と見なすことができ、ビジネスドメインは内部にあります。アプリケーションは、アプリケーションコードとの間の通信チャネルを確立するための特定のポートを開きます。ドメインロジックを、データベース、メッセージバス、メール配信、Webサーバーなどのインフラストラクチャから分離します。さまざまなタイプのクライアントを簡単にサポートするように拡張できます。新しいアダプタを追加するだけです。したがって、六角形のアーキテクチャは、ドメイン駆動設計(DDD)に自然に適合します。
したがって、六角形のアーキテクチャは、公開されたポートとアダプタによってシステムをいくつかの緩く結合された交換可能なコンポーネントに分割し、各コンポーネントは、目的に応じて特定のプロトコルに従ってこれらのポートを介して他のコンポーネントに接続されます。これにより、コンポーネントはあらゆるレベルで交換可能になり、テストの自動化が容易になります。
芯
- アプリケーションのビジネスロジックが発生する場所が定義されている
- データを受信し、その上で操作を実行し、オプションでデータベースや永続エンティティなどの他の外部パーティと通信する場合があります。
ポート
- これは、アプリケーションの境界を表します。
アダプタ
- 外部の関係者が使用するインターフェースとして実装できます。
オンラインヘキサゴナルアーキテクチャ図ツール
使いやすいオンラインの六角形アーキテクチャ図ツールを使用して、オンラインでビジュアルパラダイムを使用して六角形アーキテクチャ図を描画でき ます。
六角形のアーキテクチャ図をオンラインにする
六角形のアーキテクチャ図は、六角形のアーキテクチャを視覚的に表したものです。これは、ポートとアダプタを使用してソフトウェア環境に簡単に接続できる、疎結合のアプリケーションコンポーネントを作成することを目的としています。これにより、コンポーネントはあらゆるレベルで交換可能になり、テストの自動化が容易になります。
VP Online Diagramsには、多数の六角形のアーキテクチャ図テンプレートが付属しています。テンプレートから開始することも、独自のテンプレートを最初から作成することもできます。以下は、これらのテンプレートの一部です。[編集]ボタンをクリックするだけで開始できます。