什么是建造者模式
将一个负责对象的构造和他的表示分离。同样的构建可以创建不同的表示,就像他的名字,建筑就是对象,在盖建筑的时候我们可以选择不同的钢材,不同的砖头,来搭建一个看起来差不多,但是功能内在已经不一样的对象。这就是建造者模式,它将变与不变分离,不变的是类的组成结构,就像房子需要设计图,建材,装饰,家具。这些是不变的,但是设计图的样式,建材的好坏,装饰的美观,家具的材料都是可供选择的。
建造者模式结构:
1,产品主体:也就是这个产品需要那些部分组成。
2,抽象建造者:通常包含建造产品各个组件的方法,和创建复杂产品的方法。
3,实际建造者:抽象建造者的实现类。
4,指挥者:不涉及具体产品信息,只是负责调用建造者的方法来生产零件和组装。
和工厂模式的区别
工厂模式关注的是获取对象,能获取就好,不关注如何获取。
建造者模式关注的是怎样构建出一个对象。适用于复杂对象的创建。