软考
APP下载

建造者模式案例

建造者模式是一种创建型设计模式,适用于在对象创建的过程中,需要构建一系列复杂对象的情况。它通过将复杂对象的构建过程分离出来,使得相同的构建过程可以创建不同的对象实例,且易于扩展和修改。

下面我们通过一个实例来认识建造者模式。

案例描述:

一个快餐店需要制作不同的汉堡,例如:鸡肉汉堡、牛肉汉堡等。每个汉堡都有不同的配料(例如:奶酪、生菜等),不同的汉堡由于配料的不同,价格也不同。

分析:

在这个案例中,汉堡作为复杂对象,其构建过程可以分为两个部分,一个是选择餐品(例如:鸡肉汉堡、牛肉汉堡等),另一个是选择配料(例如:奶酪、生菜等)。

对于选择餐品这一步骤,我们可以将其抽象为一个Builder接口:

```

public interface BurgerBuilder {

void createNewBurger();

void addMeat();

}

```

对于选择不同的配料,我们可以为每个餐品都实现一个具体的Builder,例如:

```

public class ChickenBurgerBuilder implements BurgerBuilder {

private Burger burger;

public void createNewBurger() {

burger = new Burger();

burger.setType("鸡肉汉堡");

}

public void addMeat() {

burger.setPrice(10.0);

}

public void addCheese() {

burger.setPrice(burger.getPrice() + 1.0);

}

public void addLettuce() {

burger.setPrice(burger.getPrice() + 0.5);

}

public Burger getBurger() {

return burger;

}

}

```

在具体的Builder中,我们可以依次添加不同的配料,并在getBurger方法中返回最终构建好的汉堡对象。

通过使用建造者模式,我们可以很方便地创建不同种类的汉堡,并且在添加或删除一种汉堡时,不需要改变客户端代码。

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库