ヘキサゴナルアーキテクチャ
へきさごなるあーきてくちゃ
English: Hexagonal Architecture
意味
ヘキサゴナルアーキテクチャ(ポートとアダプタ)とは、アプリケーションを中心に置き、外部(ユーザー、DB、外部システム)とのやり取りを「ポート」と「アダプタ」というインターフェースを介して行う設計手法。アプリケーションを特定の技術や入力元から切り離し、単体テストを容易にする。
概要
アリスター・コバーンが提唱したソフトウェア設計パターン。別名「ポート・アンド・アダプター(Ports and Adapters)」。 アプリケーションの「コア(ビジネスロジック)」を中心に置き、その周りをDBやWeb画面などの「外部システム」が取り囲む六角形(ヘキサゴン)のような構造。
目的
「ビジネスロジック」と「技術的な詳細(DBの種類やUI)」を完全に切り離すこと。
仕組み
コアは外部のことを知りません。
- ポート: コアへの入り口・出口(インターフェース)。
- アダプター: 外部からの入力をポートに合わせて変換する変換プラグ。 これにより、DBをMySQLからPostgreSQLに変えたり、Web画面をスマホアプリに変えたりしても、中心のコアロジックを一切修正せずに済みます。テストもしやすくなります。