实例:KFC套餐 建造者模式可以用于描述KFC如何创建套餐:套餐是一个复杂对象,它一般包含主食(如汉堡、鸡肉卷等)和饮料(如果汁、可乐等)等组成部分,不同的套餐有不同的组成部分,而KFC的服务员可以根据顾客的要求,一步一步装配这些组成部分,构造一份完整的套餐,然后返回给顾客。

客户端类client:
public class Client
{
public static void main(String args[])
{
//动态确定套餐种类
MealBuilder mb=(MealBuilder)XMLUtil.getBean();
//服务员是指挥者
KFCWaiter waiter=new KFCWaiter();
//服务员准备套餐
waiter.setMealBuilder(mb);
//客户获得套餐
Meal meal=waiter.construct();
System.out.println("套餐组成:");
System.out.println(meal.getFood());
System.out.println(meal.getDrink());
}
}
配置文件config.xml
<?xml version="1.0"?>
<config>
<className>SubMealBuilderB</className>
</config>
KFCWaiter类:
public class KFCWaiter
{
privat

本文介绍了一种软件设计模式——建造者模式,通过KFC套餐构建过程进行类比说明。该模式允许逐步构建复杂对象,适用于创建具有多种可选部分的产品。文章详细展示了建造者模式的实现,包括客户端、指挥者、产品、抽象建造者和具体建造者的角色。
5854

被折叠的 条评论
为什么被折叠?



