设计模式之建造模式

建造模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同表示。

UML图:

需求:

我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)可以是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中。

我们将创建一个表示食物条目(比如汉堡和冷饮)的Item接口和实现Item接口的实体类,以及一个表示食物包装的Packing接口和实现Packing接口的实体类,汉堡是包在纸盒中,冷饮是装在瓶子中。

然后我们创建一个Meal类,带有ItemArrayList和一个通过结合Item来创建不同类型的Meal对象的MealBuilderBuilderPatternDemo,我们的演示类使用MealBuilder来创建一个Meal

Item接口抽象:

Packing包装接口(纸质包装,瓶装):

Burger汉堡:

ChickenBurger鸡肉汉堡:

VegBurger蔬菜汉堡:

Bottle瓶装:

Wrapper纸质包装:

ColdDrink冷饮:

Coke可口可乐:

Pepsi百事可乐:

Meal:

MealBuilder:

BuilderPatternDemo:

构造了一个鸡肉百事可乐汉堡和一个蔬菜可口可乐汉堡。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模...
    4ea0af17fd67阅读 221评论 0 1
  • 假如我们需要一个对象,这个对象的构成需要其它一些子对象组成。今后的情况是,这些子对象可能会发生变换,它们之间的不...
    Synchronize阅读 273评论 0 0
  • 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于...
    _凌浩雨阅读 1,559评论 0 2
  • 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于...
    Lost_Robot阅读 366评论 0 1
  • 大雄要结婚了。 这个消息一夜之间传遍了村里,我刚刚放下行李,这个消息就已经传入了我的耳中。 大雄大我六岁,是我的小...
    绒绒姜阅读 1,165评论 11 10