建造者模式

发布时间 2023-09-24 15:53:34作者: 游客0721

建造者模式

动机

  • 将一个复杂对象的创建过程及其表示分离,同一个创建过程可以创建不同的表示
  • 当需要创建一个包含多个部分或配置选项的复杂对象,并且需要将构建过程与表示分离时,建造者模式很有用
  • 帮助你灵活地构建不同配置的对象,同时保持构建过程的清晰性和可维护性

经典Builder模式

以一个构建 computer 类的过程为例。我们可能需要构造不同参数的 computer 。这时候我们就可以通过不同的 computerBuilder 类来实现,这些bulder类都继承于一个 computerBuilder 虚基类,其中定义了一些模板方法

class Computer {	// 我们要创建的
 public:
    void setCPU(string);
    void setMemory(string);
    void setStorage(string);
 private:
    string m_CPU;
    string m_memory;
    string m_storge;
};

class ComputerBuilder {		// builder的虚基类
 public:
    virtual void CreateCPU() = 0;
    virtual void CreateMemory() = 0;
    virtual void CreateStorage() = 0;
    virtual Computer CreateComputer() = 0;
};