generated at
抽象化
























今後、変更の余地があるものに対して ref
考えられる最もシンプルな状態にしておく
これがYAGNIでもない、最適な「変更にopenな状態」なのかも


最小化
minimalism
インターフェースを通して公開するものを最小化する
詳細を公開しすぎると、クライアントに統合されてしまう
拡張性
extensibility
抽象自体が拡張に開いているように設計する
合成可能性
composability
モジュールとして抽象を設計すると、抽象どうして組み合わせることができる
副作用を持たないように気にかけるなど
メソッドチェーン的なデザインも含まれる?



関連


コードの重複を見つけたとき、
そのコードの重複が、「偶然の重複」なのか「本物の重複」なのかを見抜く必要がある
偶然の重複なのであれば、重複すべできではない
ref 『Clean Architecture』 p.163


という考え方は、圏論の本質が自然返還であることと関連がありそうmrsekut


関連

UpdaterとSelctorの2つに抽象化する
reducerや、FCもこの2つで表現できる


参考