generated at
Layered Architecture






>




レイヤーのすり抜けを許可するやつ
レイヤーのスキップを許可しないやつ
Architecture Sinkholeアンチパターン
何もしない層をただ通過する感じのやつ
形骸的な無意味な層があるやつ





個々のpackageで必ずしもLayerを共通にする必要はないと思う
例えば、feature A ではUseCase層があるが、feature B ではない、とかでも良い
必要になったら層を付け足せば良い
何もしていない層があっても無駄
記述量が増えるだけでなんの嬉しさも享受しない





関数型指向のLayered Architecture
これ名前ついてないんだろうか #??
Layerを分けるところまでは同じだが、各層で「型」「関数」の2層に分けるのが異なる
よってLayerは、2倍になる
この時点ですでに面白いが、型と関数に分けたことによって、層の順序を入れ替えることができ、それによって依存の向きを完璧に1方向に揃えられる
OOPの格言でも知られる依存関係逆転の原則 (DIP)みたいなのが不要になる