知识卡片
抽象工厂适用于一组对象共享同一约束的场景
内容
[[抽象工厂模式的定义是工厂方法的升级版]]的适用判断标准:一组对象(哪怕本身无直接关系) 若都受同一约束支配,就适合用抽象工厂统一处理。如跨操作系统软件:文本编辑器和图片处理器 互不相关,却都受”运行在什么系统”这个共同约束支配。发散:关键信号不是”对象长得像不像”, 而是”是否被同一环境变量联动约束”。
参考来源
- 位置:《设计模式之禅(第2版)》第9章《抽象工厂模式》(源文件:_epub-src/text/part0040.html)
- 结论依据:原文用文本编辑器和图片处理器在不同操作系统下"功能和界面都相同,但是代码实现是不同的"为例,说明"具有了共同的约束条件:操作系统类型……可以使用抽象工厂模式,产生不同操作系统下的编辑器和图片处理器"。
- 原始内容:抽象工厂模式的使用场景定义非常简单:一个对象族(或是一组没有任何关系的对象)都有相同的约束,则可以使用抽象工厂模式……也就是具有了共同的约束条件:操作系统类型。