ヘキサゴナルアーキテクチャ(へきさごなるあーきてくちゃ)
最終更新:2026/4/25
ヘキサゴナルアーキテクチャは、アプリケーションの中核ロジックを外部の技術的詳細から分離するためのソフトウェア設計パターンである。
別名・同義語 ポートとアダプタアーキテクチャコアロジックアーキテクチャ
ポイント
このアーキテクチャは、アプリケーションをテストしやすく、保守しやすく、技術的な依存関係の変化に柔軟に対応できるようにすることを目的とする。
ヘキサゴナルアーキテクチャとは
ヘキサゴナルアーキテクチャ(別名:ポートとアダプタアーキテクチャ)は、アプリケーションのビジネスロジックを、外部の要素(データベース、UI、外部APIなど)から完全に分離することを目的としたソフトウェア設計パターンです。このアーキテクチャは、アプリケーションの中核となるロジックを「コア」と呼び、その周囲に「ポート」と「アダプタ」を配置することで実現されます。
ポートとアダプタ
- ポート: コアが外部とやり取りするためのインターフェースを定義します。ポートは、コアが依存する外部要素の種類(例:データベース、メッセージキュー)を表します。
- アダプタ: ポートの具体的な実装を提供します。アダプタは、特定の技術的詳細(例:MySQLデータベース、RabbitMQメッセージキュー)に依存します。
ヘキサゴナルアーキテクチャの利点
- テスト容易性: コアロジックは外部依存関係から分離されているため、モックやスタブを使用して簡単にテストできます。
- 保守性: 外部技術の変更がコアロジックに影響を与えにくいため、アプリケーションの保守が容易になります。
- 柔軟性: 異なる技術スタックへの移行が容易になります。アダプタを置き換えるだけで、コアロジックを変更する必要はありません。
- 独立性: UI、データベース、外部APIなどの技術的な詳細からアプリケーションを独立させることができます。
ヘキサゴナルアーキテクチャの適用例
ヘキサゴナルアーキテクチャは、複雑なビジネスロジックを持つアプリケーションや、長期的な保守が求められるアプリケーションに適しています。例えば、eコマースプラットフォーム、金融システム、IoTアプリケーションなどが挙げられます。