C4
4つのCからなるネスト構造
system context
システムと、ユーザー、関連する他システムとの関係性を図示する
複数のcontainerを含む
containers
deployできる単位
website, web service, DBなどを図示する
複数のcomponentを含む
components
コードを構成する大きな構造
複数のclassからなる
1つのContainer内の、内部Component同士の関係、他システムとの関係を図示する
classes, codes
fpの文脈ではmoduleのこと
複数の関数やmethodからなる
コードに対応する設計要素の詳細情報を図示する
図示のためにUMLやER図などを用いて良い
なんか抽象的すぎて何の役に立つんだ?という感じがするmrsekut.icon
図にするのが前提の話なのか
4つの抽象度に分けて、それごとに図示しような、という話か
Mermaidにこのアーキテクチャを書く記法がある
https://mermaid-js.github.io/mermaid/#/c4c
/mrsekut-book-97816805025/058 (CНАРТER 3 A Functional Architecture) ~
C4モデル - Wikipedia
http://static.codingthearchitecture.com/c4.pdf
https://c4model.com/
https://www.infoq.com/jp/articles/C4-architecture-model/