【へきさごなるあーきてくちゃ】
ヘキサゴナルアーキテクチャ とは?
💡 六角形の中心にビジネスロジックを閉じ込める「ポート&アダプター」
📌 このページのポイント
なんで六角形なの?
実は六角形自体に深い意味はないんだ。従来の「上から下へ」の層構造ではなく、アプリケーションの周囲にいくつもの「面(ポート)」があることを表現するために六角形が使われた。辺の数は別に6でなくてもいいんだよ。
ポートとアダプターって何?
具体例で教えて?
ポートには種類があるの?
大きく「ドライビングポート(入力)」と「ドリブンポート(出力)」に分かれる。ドライビングポートはアプリを呼び出す側で、REST APIやCLIから来るリクエスト。ドリブンポートはアプリが外部を呼び出す側で、DBやメール送信など。この区別が設計の方向性を明確にしてくれる。
クリーンアーキテクチャとどう使い分ければいいの?
まとめ:ざっくりこれだけ覚えればOK!
ヘキサゴナルアーキテクチャって出てきたら「ポートとアダプターで外部との接続を抽象化してビジネスロジックを守る設計」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hexagonal Architecture」 = 六角形のアーキテクチャ
💬 Alistair Cockburnが2005年に提唱。六角形に特別な意味はなく「複数のポートを持つ」ことを視覚的に表現したもの