知识卡片
框架不是万能
内容
通用框架适合共享相同本质结构的问题;一旦目标属性依赖直接连接、路径或更复杂状态,强行塞进原框架会比重写更麻烦。发散:好复用要敢于说“不支持”。
参考来源
- 位置:《你真的会写代码吗-2021》第9章《请重复利用:可复用性》"9.1 确立边界"场景3(源文件:_epub-src/OEBPS/Text/0019.xhtml)
- 结论依据:原文以天线网络(场景3)为例,说明其属性"值取决于两个项之间存在哪些直接连接。特别是,这个属性的值在一组连接的天线之间是不能共享的。因此,这种场景需要完全不同的方式来表示和管理连接。支持这种场景将使代码变得过于通用,以至于……比从头开始编写一个特定的解决方案所需的还多"。
- 原始内容:场景3:……想知道从每个给定天线到另一个天线需要穿越多少个直接连接(也就是最短路径的长度)……这个属性的值在一组连接的天线之间是不能共享的。因此,这种场景需要完全不同的方式来表示和管理连接。支持这种场景将使代码变得过于通用,以至于根据具体场景进行自定义所需的工作量比从头开始编写一个特定的解决方案所需的还多。