2種類の「複雑さ」構造の複雑さ● 分解可能○ 分解するとパーツが増え、関係性の複雑さが増す●凝集度の話○ データにもfunctionにも存在する関係性の複雑さ● 業務を変えない限りは、不可避● サブドメイン分割など、分割統治で立ち向かう● 構造の複雑さと解消しないと、見えにくいOut of the tar pit だとAccidental Complexity Essential Complexity
7.
Kent BeckのSimple Design1.全てのテストがパスする (Passes the tests)2. 意図が明確である (Reveals intention)3. 重複がない (No duplication)4. 最小の構成要素 (Fewest elements)https://martinfowler.com/bliki/BeckDesignRules.htmlこれは「関係性の複雑さ」についての言及今必要ないものを作り込んで、設計要素を増やすな (YAGNI)
参考文献● Scott Wlaschin“”Reinventing the Transaction Script● Scott Wlaschin “Domain Modeling Made Functional”● Rich Hickey “Simple Made Easy”● 渡辺幸三 “データモデリング入門”● Eric Normand “Grokking Simplicity”● kawasima “https://scrapbox.io/kawasima/ドメインモデル貧血症”● kawasima “https://scrapbox.io/kawasima/イミュータブルデータモデル”