抽象工厂模式周末写,想和其他工厂做一个总结。
创建者模式
需要将一个复杂的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式
创建者模式结构图
Builder:建造产品各个部分的抽象类,创建一个Product对象的各个部件指定的抽象接口。
ConcreteBuilder:具体建造者,实现Builder接口,构造和装配各个部分。
Product:具体产品
Director:指挥者,构建一个使用builder接口的对象
使用场景:用于创建一些复杂的对象,这些对象内部构建间的创造是稳定的,对象内部构建复杂多变
优点:使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,需要改变产品内部表示,只需要定义一个具体的建造者就ok了
代码参见:
https://github.com/FastStonewkx/hometown
摘抄自其他地方的说明:
创造者模式:
KFC创建套餐
套餐是以一个复杂对象,包含主食和饮料,不同套餐有不同的组成部分,服务员根据客户需求,装配这些部分,构造一个完整套餐,提交给顾客。