知识卡片

产品等级横向扩展容易产品族纵向扩展困难

普通读书笔记卡 · 1854.a.1.d

内容

[[产品族扩展困难是抽象工厂的核心代价]]特指产品族维度,产品等级维度恰恰相反、扩展容易: 新增性别等级”双性人”只需新增对应产品类和一个专属工厂类,不改动已有代码。这种”横向扩展 容易、纵向扩展困难”的不对称性,让抽象工厂在产品等级持续增长而产品族稳定的场景下依然 符合开闭原则。发散:判断适用性关键是分辨未来更可能新增等级还是族。

参考来源

- 位置:《设计模式之禅(第2版)》第9章《抽象工厂模式》(源文件:_epub-src/text/part0040.html) - 结论依据:原文明确"是产品族扩展困难,而不是产品等级……增加一个产品等级,只要增加一个工厂类负责新增加出来的产品生产任务即可……从这一点上看,抽象工厂模式是符合开闭原则的",并用新增"双性人"性别等级为例说明纵向扩展成本。 - 原始内容:一定要清楚,是产品族扩展困难,而不是产品等级。在该模式下,产品等级是非常容易扩展的……完全通过扩展来实现需求的变更,从这一点上看,抽象工厂模式是符合开闭原则的。