建造者模式是把对象的创建分散开来,比如我来组成头部,我来组成身体
interface builderDemo {
void bulidHead();
void bulidBody();
void bulidFoot();
}
然后由具体类来实现,实现创建对象的分解
举例:mybatis里build sqlsessionfactory
相对于简单工厂或普通工厂,普通工厂是生产一个产品,而抽象工厂是生产多个产品族(一个产品族包含几个不同产品的某一系列)
举例
宝马的不同车系
abstract class createBaoma{
abstract Baoma320 createBaoma320(); // 具体实现 使用 A1 B1 C1
abstract Baoma520 createBaoma520(); // 具体实现 使用 A2 B2 C2
abstract Baoma740 createBaoma740(); // 具体实现 使用 A3 B3 C3
}
建造者模式所有函数加到一起才能生成一个对象
抽象工厂一个函数生成一个对象