ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

设计模式 建造者模式

2021-11-28 17:04:09  阅读:125  来源: 互联网

标签:对象 MealBulider 建造 模式 具体 套餐 设计模式


建造者模式(Bulider Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者属于对象创建型模式,建造者模式又可以称为生成器模式。

  模式动机:

    在软件开发中,存在大量与汽车类似的复杂属性,他们拥有一系列成员属性,这些成员属性有些是引用类型的成员对象。复杂对象相当于一辆带建造的汽车,而对象的属性相当于汽车的部件,建造产品的过程就相当于组合部件的过程,由于组合部件很复杂,因此这个组合过程往往被写道一个乘坐建造者的对象里,建造者返还给客户端的是一个已经建造完毕的完整产品对象,而用户无需关心该对象所包含的属性以及他们的组装方式。

 模式结构:

  • Bulider:抽象建造者
  • ConcreateBulider:具体建造者
  • Director:指挥者
  • Product:产品角色

 具体流程图如下所示:

            

图像简介:

  具体的套餐名称SubMealBuliderA和SubMealBuliderA继承字套餐建造者MealBulider,MealBulider中包含Meal类的对象,服务员KFCWaiter中包含MealBulider的对象。

具体流程:

  客户知晓具体套餐类等名称,首先向MealBulider发送请求常见一个具体套餐类的对象,服务员类中拥有抽象套餐类这个对象作为属性,服务员根据具体套餐类的对象调用相应的套餐方法,返回给客户。

  

 建造者模式的优点:

  • 客户端不必知道产品内部组成的细节,件产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的对象。
  • 用户使用不同的具体创建者可以得到不同的产品对象。
  • 可以更加精细的控制产品的创建过程
  • 增加新的具体创建者无需修改原有代码。

 

 缺点:

  • 如果产品之间差异性很大,则不适合使用建造者模式        

 

标签:对象,MealBulider,建造,模式,具体,套餐,设计模式
来源: https://www.cnblogs.com/wfswf/p/15615626.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有