Hexagonal Architecture
#Software Design #Alistair Cockburn
別名 「Ports and Adapter」パターン
別名の通り、外部とのやりとりをする口であるポートとポートに対する実装のアダプタを用意する。
ポートとアダプタはプライマリとセカンダリに分類され、プライマリは駆動され(例:user-side)、セカンダリは駆動する(例:database)という関係性である。
プライマリ、セカンダリの命名はユースケースのプライマリアクター、セカンダリアクターを元にしている。
図の左側にプライマリ、右側にセカンダリを置き説明がされる。
ポートとアダプタはアプリケーションに対して左右の2つのみでよいが、加えてアドミンや通知といった役割のポートとアダプタを用意することもできる。ただしそれらはたかだか6つは超えないことから「ヘキサゴナル」の図で表されている。