建造者模式:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示
使用场景
相同的方法,不同的执行顺序,产生不同的时间结果时,
多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时
产品类非常复杂,或者产品类中的调用顺序不同产生了不同的作用
当初始化一个对象特别复杂,如参数多,且很多参数都具有默认值时
建造者模式是在当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时使用的模式
良好的封装性,使用建造者模式可以使客户端不必知道产品内部组成的细节,
建造者独立,容易扩展,