Swift - 生成器模式(Builder Pattern)

本文通过实例讲解了Swift中生成器模式的运用,通过KFC汉堡包的例子,展示了如何利用Builder创建对象,以及相同的建造方法但执行顺序不同带来的不同结果。
摘要由CSDN通过智能技术生成
没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是生成器模式需要解决的问题。下面就一起来看看生成器模式

生成器模式

生成器模式(Builder Pattern)也叫:建造模式,是一种对象构建模式。
1、它可以将复杂对象的建造过与它的表现分离,使得同样的构建过程可以创建不同的表示。 
2、Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节.

参与者



Builder:抽象建造者,为创建一个Product对象的各个部件指定抽象接口。在该接口中一般声明两类方法,一类方法是buildPartX(),它们用于创建复杂对象的各个部件;另一类方法是getResult(),它们用于返回复杂对象。Builder既可以是抽象类,也可以是接口,iOS中使用协议。

ConcreteBuilder:具体建造者,实现Builder的接口以构造和装配该产品的各个部件;即实现抽象builder类的所有方法,并返回一个创建好的对象。

Director:指导者,也被称导向者,构造一个使用Builder接口的对象它负责安排复杂对象的建造次序,指挥者与抽象建造者之间存在关联关系,可以在其construct()建造方法中调用建造者对象的部件构造与装配方法,完成复杂对象的建造。客户端一般只需要与指挥者进行交互,在客户端确定具体建造者的类型,并实例化具体建造者对象(也可以通过配置文件和反射机制),然后通过指挥者类的构造函数或者Setter方法将该对象传入指挥者类中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值