建造者模式制造普通汉堡和豪华汉堡

 建造者模式(Builder Pattern)是一种创建型设计模式,它允许你通过一步步地指定复杂对象的类型和内容来创建它们,而无需了解内部的具体构建细节。这种模式将对象的构造过程与表示分离,使得相同的构造过程可以创建不同的表示。建造者模式特别适用于那些构造过程中需要很多可选步骤或部件的对象创建场景。

  Product(产品类):它是包含所有零件的复杂对象,由各种部件组成,是建造者模式的最终产出结果。
Builder(抽象建造者):它是一个接口或抽象类,定义了创建产品对象各个部分的抽象方法,以及获取最终产品的接口方法。
ConcreteBuilder(具体建造者):实现Builder接口,负责具体创建和装配产品的各个部分。
Director(指挥者):可选角色,负责组织具体建造者的建造顺序,调用具体建造者的方法来创建产品。客户端通常与Director交互,以隔离产品构建逻辑。


封装性:客户端不需要知道产品内部的构建细节,只需要知道具体建造者即可。
灵活性:可以容易地改变具体建造者的内部构建步骤,创建出不同变种的产品。
解耦:将构建复杂对象的过程和它的表示分离,使得同样的构建过程可以创建不同的表示。
易于扩展:增加新产品时,只需添加新的具体建造者和必要的产品类,原有代码几乎不用修改。

产品类(Hamburger):首先定义一个汉堡产品类,它是我们要构建的复杂对象。

抽象建造者(HamburgerBuilder)
接下来,定义一个抽象建造者,规定构建汉堡的基本步骤。

具体建造者(SimpleHamburgerBuilder & DeluxeHamburgerBuilder)
然后,创建两个具体建造者,分别代表简单汉堡和豪华汉堡的构建方式。

普通汉堡

豪华汉堡

​​​​​​​

指挥者/客户端 代码
最后,客户端代码通过具体建造者来创建不同类型的汉堡。

在这个例子中,HamburgerBuilder 是抽象建造者,它定义了构建汉堡的步骤,而 SimpleHamburgerBuilder 和 DeluxeHamburgerBuilder 则是具体建造者,它们按照不同的方式来实现这些步骤,最终构建出不同类型的汉堡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值