知识卡片

抽象层次取舍

普通读书笔记卡 · 1891.b

内容

同一个对象可以被抽象成商品、库存单位、展示卡片或财务科目,层次取决于要解决的问题。架构设计的难点不是找到最高层抽象,而是在足够通用与足够具体之间保持可理解、可修改。

参考来源

- 位置:《程序员的底层思维》第1章《抽象思维》1.5.1节「对抽象层次的权衡」(源文件:Cheng Xu Yuan De Di Ceng Si Wei_split_005.html) - 结论依据:原文用RedApple/Apple/Fruit/Plant的层次示例说明抽象层次要根据业务需要权衡,越抽象越通用但语义表达能力越弱,直接支持卡片论点。 - 原始内容:"具体要抽象到哪个层次,要视具体的情况而定,比如这段程序如果专门用于研究苹果,那么可能到Apple就够了;如果是卖水果的,则可能需要到Fruit……越抽象、越通用、可扩展性越强,其语义的表达能力就越弱。"