Builder/Director
应用场景解释
- 当你需要构建一个比较复杂的对象
- 这个对象的各种参数,在不同情况下都不相同, 并且都是可选参数
- 当有一套步骤是相同,但是具体实现不同的时候, 可以引入 director
应用步骤重点
- 定义 builder interface, 具体包含能配置的东西
- 创建 builder 实现类, 并且需要实现一个额外的 获取结果的方法, 因为不同 builder 实现类可以输出不同类型的结果, 所以不能定义在 interface 上
- 创建 director 类, 封装不同的 创建步骤套装
- 调用方 实例化 builder 和 director. 把 builder 实例传给 director. director 选择构造那种产物. 从 build 实例获取最终结果对象
- 如果大家创建产物的类型一致, 则可以直接在 director 里返回结果