知识卡片

按产品粒度粗细选择工厂方法或建造者

普通读书笔记卡 · 1853.a.8

内容

[[工厂方法与建造者模式的意图差异]]之外还有更实用的选型标准:产品复杂度。工厂 方法创建的通常是单一性质产品,粒度较粗(如所有成年超人长得都一样);建造者模式创建 复合产品,由可替换部件拼装而成,粒度更细。发散:判断准则很直接——需详细关注部件生产、 安装步骤就选建造者,只需一个封装好的完整产品就选工厂方法,依据不是”哪个更高级”,而是 设计意图要不要暴露组装过程。

参考来源

- 位置:《设计模式之禅(第2版)》第30章《创建类模式大PK》30.1.3节(源文件:_epub-src/text/part0137.html) - 结论依据:原文总结"工厂方法模式创建的产品一般都是单一性质产品……而建造者模式创建的则是一个复合产品,它由各个部件复合而成,部件不同产品对象当然不同……工厂方法模式的对象粒度比较粗,建造者模式的产品对象粒度比较细",并给出选型准则"如果需要详细关注一个产品部件的生产、安装步骤,则选择建造者,否则选择工厂方法模式"。 - 原始内容:工厂方法模式创建的产品一般都是单一性质产品……而建造者模式创建的则是一个复合产品……一般来说,工厂方法模式的对象粒度比较粗,建造者模式的产品对象粒度比较细……如果需要详细关注一个产品部件的生产、安装步骤,则选择建造者,否则选择工厂方法模式。