内容
今天学习了建造者模式。
1.建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2.简单来说就是一个类的所有的特性方法与这个类对象的构建分离
3.本来觉得有点类似于工厂模式,但细想又不太一样。工厂模式是创建一个类,这个类用来创新用户所关注的类对象,类的构建也还在类中。建造者模式是将所有构造的相关代码单独拎出来,用户关注的类中只是完成具体的功能,而单独实现一个构造者,完成类对象的创建,相关创建的逻辑需要修改时并不需要改变类对象本体,而对于用户也只需要通过构造者构造对象,而无需关注类对象复杂的构建过程。
收获
1.对于类对象创建比较复杂的可以采用构建者模式。
2.首先设计 产品类,
3.然后设计 抽象建造类
4.然后设计 具体建造类,继承与抽象建造类
5.然后设计 指挥类,用来指挥建造过程。
这里主要是通过抽象除了一个建造类,这个建造类中抽象出具体需要做的步骤。然后你再实现不同的具体建造类,由一个统一的指挥类构建整个产品。
比如:
制作一个蛋糕,蛋糕可以理解为一个产品,需要放面粉、鸡蛋、烘焙、放奶油等过程,那么这4步过程可以形成一个抽象类,而具体每一步到底如何做?比如用多少面粉,烘焙多长时间可以形成不同的具体建造类,由一个指挥来决定具体使用哪种方案,就可以形成一个蛋糕。