设计模式-生成器模式

今天给大家讲讲生成器模式的关键要点

这个设计模式里有的关键元素有:主管(Director),生成器(Builder),具体生成器(Concrete Builder)

做一个现实生活的类比,让大家更便于理解。

具体生成器有点像全能装修工人,一个人可以独立的完成房子的装修工作。然后主管就像是装修队长,依据装修图纸来指挥装修工人干活,最终装修工人交付一套装修好的房子。

那么抽象的生成器就有点像装修工人的培训标准。

那么问题来了,为什么还需要不同种类的具体生成器呢?

为什么要选择生成器模式

  1. 复杂对象的构造过程繁琐:对象的构造需要多个步骤或组件组合时,直接通过构造函数会导致参数过多或逻辑混乱;生成器模式是如何解决这个复杂度的:抽象出对象构造范式,客户端仅感知这些范式,具体的构造过程委托给生成器
  2. 避免构造过程的重复代码:当多个相似对象构造流程相同时,可以复用同一构建过程。
  3. 灵活控制构造过程:允许在构造过程中调整步骤或配置,生成不同形态的对象(比如产品最小集,标准产品,豪华版产品)
  4. 解耦构造逻辑和业务逻辑:业务逻辑在具体的生成器中实现,构造逻辑在主管类中实现;提高代码的可维护性与可读性。

发表回复