3つの図の対応がわかりにくい?
Clean Architectureを理解する上で、以下の3つの図が登場します。
- 4つの同心円(書籍版の図22-1)
- Flow of control(4つの同心円の右下の図)
- 典型的なシナリオ図(書籍版の図22-2)
実際のコードに落とし込もうとしたとき、2や3の図がとても有用なのですが、個人的にそれらの要素とレイヤーの対応がわかりにくかったので、一枚の図に無理やりまとめてみました。
3つの図を一枚にまとめた図
おそらく、以下のようになるのではないかと思います。
## 補足、注意点など
- 同心円が巨大になりすぎるので、四方をトリミングしています。
- Flow of controlの矢印の向きは、ControllerとPresenterの位置がシナリオ図ベースなので、逆になっていることに注意してください。
- DS1については、本図では2レイヤーにまたがる存在と捉え、色を塗っていません。
- DataAccess関連が、インターフェースアダプターのレイヤーに登場しないのが不思議です。もしかすると、なにか読み違いがあるかもしれません。
参考記事
実装クリーンアーキテクチャ - Qiita
C#の実際のコードが例示されていて、具体的な実装を理解する上でとても役立ちました。
-
Data Structureの略らしいです。 ↩