ヘキサゴナルアーキテクチャ
真ん中のApplicationがビジネスロジックで、それ以外のものは交換可能。
WebやAppに近いAdapterはユーザーのアクター。その領域をPrimary portと呼ぶ。 例:MVC、CLI、Standaloneなど。
DBに近いAdapterはデータの問い合わせ・反映などを行うApplicationのアクター。その領域をSecondary portと呼ぶ。例:DAO、Mock、API
Applicationは入力デバイスやデータストアのことを何も知らない。
クリーンアーキテクチャとの違い
ヘキサゴナルアーキテクチャとやりたいことは同じ。
https://speakerdeck.com/nrslib/clean-architecture-with-java?slide=78
ヘキサゴナルの外側の具体的な実装について詳細に記載されているのがクリーンアーキテクチャ
外側というのはPortやAdapterのことを指している。
ヘキサゴナルアーキテクチャのApplicationにあたるものがクリーンアーキテクチャのEntities。
【参考】
- Hexagonal architecture
- https://github.com/nrslib/HexagonalArchitectureSample