建造者模式和抽象工厂的区别
Posted 琅琊山二当家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建造者模式和抽象工厂的区别相关的知识,希望对你有一定的参考价值。
1 建造者模式是把对象的创建分散开来,比如几个函数
比如
interface builderDemo
void bulidHead();
void bulidBody();
void bulidFoot();
然后 由具体类实现,实现创建对象的分解
2 抽象工厂 相对于普通工厂 或者简单工厂 普通工厂的工厂实现是一个产品 抽象工厂的工厂实现是多个产品族 (一个产品族包含几个不同的产品的某一系列) 比如 抽象工厂的一个举例 实现的是baoma的各个车系 用到A B C 部件 ,根据价格档次划分 A B C 又分为 A1 A2 A3 , B1 B2 B3 ,C1 C2 C3 抽象工厂的一个抽象的实现
abstract class createBaoma
abstract Baoma320 createBaoma320(); // 具体实现 使用 A1 B1 C1
abstract Baoma520 createBaoma520(); // 具体实现 使用 A2 B2 C2
abstract Baoma740 createBaoma740(); // 具体实现 使用 A3 B3 C3
对比 1 2 可以 发现建造者模式 所有函数 加一起才能实现一个对象
而抽象工厂或者简单工厂 一个函数就可以创造一个对象
建造者模式是创造复杂对象时候的一种分解方式
以上是关于建造者模式和抽象工厂的区别的主要内容,如果未能解决你的问题,请参考以下文章