设计模式 建造者模式
作者:互联网
建造者模式(Bulider Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者属于对象创建型模式,建造者模式又可以称为生成器模式。
模式动机:
在软件开发中,存在大量与汽车类似的复杂属性,他们拥有一系列成员属性,这些成员属性有些是引用类型的成员对象。复杂对象相当于一辆带建造的汽车,而对象的属性相当于汽车的部件,建造产品的过程就相当于组合部件的过程,由于组合部件很复杂,因此这个组合过程往往被写道一个乘坐建造者的对象里,建造者返还给客户端的是一个已经建造完毕的完整产品对象,而用户无需关心该对象所包含的属性以及他们的组装方式。
模式结构:
- Bulider:抽象建造者
- ConcreateBulider:具体建造者
- Director:指挥者
- Product:产品角色
具体流程图如下所示:
图像简介:
具体的套餐名称SubMealBuliderA和SubMealBuliderA继承字套餐建造者MealBulider,MealBulider中包含Meal类的对象,服务员KFCWaiter中包含MealBulider的对象。
具体流程:
客户知晓具体套餐类等名称,首先向MealBulider发送请求常见一个具体套餐类的对象,服务员类中拥有抽象套餐类这个对象作为属性,服务员根据具体套餐类的对象调用相应的套餐方法,返回给客户。
建造者模式的优点:
- 客户端不必知道产品内部组成的细节,件产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的对象。
- 用户使用不同的具体创建者可以得到不同的产品对象。
- 可以更加精细的控制产品的创建过程
- 增加新的具体创建者无需修改原有代码。
缺点:
- 如果产品之间差异性很大,则不适合使用建造者模式
标签:对象,MealBulider,建造,模式,具体,套餐,设计模式 来源: https://www.cnblogs.com/wfswf/p/15615626.html