見出し画像

ヘキサゴナルアーキテクチャ 〜ポートとアダプターでアプリを守る〜

ソフトウェアをメンテナンスしやすくするためのヘキサゴナルアーキテクチャを紹介します。


特徴は?

ヘキサゴナルアーキテクチャの最大の特徴はビジネスロジック、つまり開発者が最も開発に集中したい部分をポートとアダプターを使って外部影響から守ることです。

外部影響って?

なぜビジネスロジックがデータベースやユーザーインターフェースを始めとする外部の影響を受けてしまうかというと、それらに依存してしまっているからです。
"依存している"とは"されている"方の変更によって"している"方に影響が出る状態を言います。

どうやって守る?

守る=外部の影響を受けないようにできればよいわけですが、データベースやインターフェースを避けては通れません。
そこでポートやアダプターを通してビジネスロジックがそれらを使用することで、影響を最小限に抑えられるのです。
具体的に言うと依存性逆転の原則に従います。
ビジネスロジックが外部のオブジェクトを参照するときは必ず抽象化レイヤー(ポート)を通すことによって、外部からの影響を限定することができます。

まとめ

すごく簡単にですがヘキサゴナルアーキテクチャについて紹介しました。
ポートやアダプターで外部からの影響を防ぐという設計方針でした。
コードレベルのより詳しい情報が知りたい場合はこのリポジトリを参考にしてみてください。

よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!