设计模式---建造者模式

在Gof的23种设计模式中对Builder Pattern的定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

 

从程序角度来说,就是在基类定义某种事物创建的过程或业务流程,在子类进行重写或是使用基类方法。这样创建出来的实例不会因为过程或流程的丢失而使业务失败。举例来说,我们要建一辆汽车,汽车需要车轮、方向盘、发动机、油门、刹车等上百个设计功能和流程。现在我需要自己建一辆汽车,那么汽车需要的这上百个流程我都要自己完成,很可能由于其中某个流程忘做或是流程错误,使整车无法使用。这个时候,就需要使用建造者模式来解决这个问题了。

 

首先我们需要定义一个建造汽车的基类,里面的CreateCarInstance()方法定义了建造一辆汽车所需要的所有流程。

然后我们自己定义一个汽车类,继承汽车的基类,并且重写基类里面的CreateSteering()和CreateEngine()方法。

调用代码为:

执行结果为:

 

在MyCar类里面,我们重写了CreateEngine()方法,使自己汽车的发动机变成了本田Honda的。车轮对于汽车是必须的,但是我们在MyCar里面由于疏忽,并没有写CreateWheel()方法,但是没有关系,因为基类中已经有CreateWheel()方法了。所以对于CreateCarInstance()来说,建一辆是稳定的。

 

如需转载,请注明本文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值