実現したいこと
各アーキテクチャの違いと利点とを理解する。
前提
バックエンドの設計について勉強している際、アーキテクチャがいくつかあり場面や想定するケースに応じて適切なものを選ぶという記載があったのですがどのような基準でそれぞれが使用されるのかが全くイメージがつきません。また、言語との相性などもありそうだなと考えているのですが、もしそういった私が想定できていない情報もあれば補足いただけるととても嬉しいです。
クリーンアーキテクチャ: エンティティ、ユースケースといった具体的な役割のみを持つ概念を作成し、より1つ1つの層の責務が限定的であり、この3つの中では最も厳格
オニオンアーキテクチャ: ドメインロジックを中心に据え、ビジネスロジックと技術的要件を明確に分けることでテストなどが容易
レイヤードアーキテクチャ: 1方向の依存のみにするという目的のための上2つよりはシンプルなアーキテクチャ
発生している問題
上記の前提で書いた理解が正しいかどうかに自信が無いです。
特徴を捉えることができているか分からず、その結果上に挙げたアーキテクチャ(および他のもの)の違いとそこから来る利点を明確にしたいです。
また、実際にどのような現場においては何が使用されるのか知識として得ることができればより嬉しいです。
あなたの回答
tips
プレビュー