1.3 KiB
1.3 KiB
上面每个方法都有一个 this.sequence.clear(),估计你一看就明白。但是作为一个系统分析师或是技术经理一定要告诉项目成员,ArrayList 和 HashMap 如果定义成类的成员变量,那你在方法中的调用一定要做一个 clear 的动作,以防止数据混乱。如果你发生过一次类似问题的话,比如 ArrayList 中出现一个“出乎意料”的数据,而你又花费了几个通宵才解决这个问题,那你会有很深刻的印
Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)
- Product 产品类
- Builder 抽象建造者
- ConcreteBuilder 具体建造者
- Director 导演雷
优点
- 封装性
- 建造者独立,容易扩展
- 便于控制细节风险
使用场景
- 相同的方法,不同的执行顺序,产生不同的事件结果
- 多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时
- 产品类非常复杂,或者产品类中的调用顺序
- 对象创建过程中会使用到系统中的一些其他对象,这些对象在产品对象的创建过程中不易得到时