创建型模式之建造者模式
3 月,跳不动了?>>> 1 概述 前面我们说了 工厂模式 和 抽象工厂模式 ,下面来说说 建造者模式 。 建造者模式 也是一种极为常见的 创建型模式 ,前面提到的两类 工厂 模式隐藏了类的属性与构造细节,而 建造者模式 通过 Builder 类,适当地暴露了类的属性,使得类的创建更具有灵活性和可读性。 2 建造者模式 当一个类的构造函数包含很多参数,或者参数之间有很多种组合(如肯德基的套餐),调用构造函数来创建类将会变得不方便,可读性也很差。对于多种组合的情况, 工厂模式 也将变得不适用。 在这种情况下, 建造者模式 提供了一种思路,通过将类的创建委托给 建造器 (Builder),将类的创建与表示分离,大大地简化了类创建的复杂度。 3 案例 考虑做一个 Pizza ,为方便起见,让它只包含尺寸,底,馅以及是否加芝士四个属性。看看如何用 建造者模式 来创建: public class Test { public static void main(String[] args) { Pizza.Builder pizzaBuilder = new Pizza.Builder(); Pizza pizza = pizzaBuilder.size(6) .crustType(Pizza.CrustType.THIN) .topping("Durian") .build(); pizza