知识卡片
复用先划边界
内容
可复用设计的第一步不是尽量通用,而是划出哪些变化属于同一问题结构,哪些会把框架拉向过度泛化。发散:复用范围越大,API越抽象,使用者理解和定制成本也越高。
参考来源
- 位置:《你真的会写代码吗-2021》第9章《请重复利用:可复用性》"9.1 确立边界"(源文件:_epub-src/OEBPS/Text/0019.xhtml)
- 结论依据:原文用场景1/2/3说明设计前要先划定支持范围:"基于这些描述,你将开发一个通用的水容器实现。能适用于场景1和场景2,但不适用于场景3",并指出场景3"支持这一场景将使代码变得过于通用,以至于……比从头开始编写一个特定的解决方案所需的还多"。
- 原始内容:为了指导你做出选择,让我们考虑一下你可能想用通用框架解决的几个场景,以及一个你可能不想解决的场景,因为这会导致过度通用……支持这个场景将使代码变得过于通用,以至于根据具体场景进行自定义所需的工作量比从头开始编写一个特定的解决方案所需的还多。基于这些描述,你将开发一个通用的水容器实现。能适用于场景1和场景2,但不适用于场景3。