定义 :将一个复杂对象的构建与它的表示分离,似的同样的构建过程可以创建不同的表示
用户只需指定许需要建造的类型就可以得到他们,建造过程及细节不需要知道
适用场景
如果一个对象有非常复杂的内部结构(很多属性)
想把复杂对象的创建和使用分离
优点
封装性好,创建和使用分离
扩展性好、建造类之间独立、一定程度上解耦
缺点
产生多余的builder对象
产品内部发生变化,建造者都要修改,成本较大
定义 :将一个复杂对象的构建与它的表示分离,似的同样的构建过程可以创建不同的表示
用户只需指定许需要建造的类型就可以得到他们,建造过程及细节不需要知道
适用场景
如果一个对象有非常复杂的内部结构(很多属性)
想把复杂对象的创建和使用分离
优点
封装性好,创建和使用分离
扩展性好、建造类之间独立、一定程度上解耦
缺点
产生多余的builder对象
产品内部发生变化,建造者都要修改,成本较大