建造者模式的理解

通过阅读CSDN博客,记录笔记、重点及理解:

建造者模式与抽象工厂模式有点相似,但是建造者模式返回一个完整的复杂产品,而抽象工厂模式返回一系列相关的产品;在抽象工厂模式中,客户端通过选择具体工厂来生成所需对象,而在建造者模式中,客户端通过指定具体建造者类型并指导Director类如何去生成对象,侧重于一步步构造一个复杂对象,然后将结果返回。如果将抽象工厂模式看成一个汽车配件生产厂,生成不同类型的汽车配件,那么建造者模式就是一个汽车组装厂,通过对配件进行组装返回一辆完整的汽车。

在建造者模式中,客户端只需实例化指挥者类,指挥者类针对抽象建造者编程,客户端根据需要传入具体的建造者类型,指挥者将指导具体建造者一步一步构造一个完整的产品(逐步调用具体建造者的buildX()方法),相同的构造过程可以创建完全不同的产品。

建造者模式的理解_第1张图片

建造者模式比喻为汽车组装厂,抽象工厂处生产零件,而用户要买汽车时无需知道汽车是怎么组装的,因此需要一个Direct类与用户打交道。

案例:

建造者模式的理解_第2张图片

你可能感兴趣的:(设计模式)