建造者模式
定义
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。
类图
Builder(建造者)
负责定义用于生成实例的接口。准备了用于生成实例的方法
ConcreteBuilder(具体的建造者)
负责实现Builder角色的接口的类。定义了在生成实例时实际被调用的方法。此外,还定义了获取最终结果的方法。
Director(监工)
负责使用Builder的接口生成实例,不依赖于ConcreteBuilder。为了确保不论ConcreteBuilder是如何被定义的,Director都能正常工作,它只调用在Builder中被定义的方法。
Client(使用者)
使用了Builder模式
示例
类图
Builder
1 | public abstract class Builder { |
Director
1 | public class Director { |
HTMLBuilder
1 | public class HTMLBuilder extends Builder { |
TextBuilder
1 | public class TextBuilder extends Builder { |
Main
1 | public class Main { |