希赛考试网
首页 > 软考 > 软件设计师

建造者模式案例

希赛网 2024-06-15 13:32:10

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

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

案例描述:

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

分析:

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

对于选择餐品这一步骤,我们可以将其抽象为一个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方法中返回最终构建好的汉堡对象。

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

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件