
127
3
⹅
図3.4.4
クリーンアーキテクチャにおけるコンポーネント構成例
Controller
Entities
Input
Boundary
Presenter
Output
Boundary
Use Case
lnteractor
View Model
View Data Access Database
<DS>
Input Data
<DS>
Output Data
<DS>
<I>
<I>
Data Access
Interface
<I>
出典: Robert C. Martin 著、角 征典、高木 正弘 訳『Clean Architecture 達人に学ぶソフ
トウェアの構造と設計』KADOKAWA(2018)
※6
クリーンアーキテクチャでは、最重要のドメイン層を中心に据えると
いうコンセプトを達成するために、依存関係逆転の原則を適用した抽象
化が肝となっています。そのため、設計難易度が上がることや、図
3.4.4からもわかるとおりインターフェースやコンポーネントの数が増
えて複雑性が増すことに注意が必要です。
これは、中心のドメイン層において複雑なビジネスルールを実現する
ソースコードの見通しをよくすることとの引き換えで発生するトレード
オフです。逆に、ビジネスルールが単純なアプリケーションに対してク
リーンアーキテクチャを適用しても、手間ばかりかかるだけで旨みがあ
りません。
パイプラインアーキテクチャ
パイプラインアーキテクチャ
※5
は、パイプとフィルター(Pipes and