面向对象设计模式

时间:2024-02-24 06:59:02
  • 一、单例

一个类只能创建唯一一个对象

利用限制构造、static完成

  • 二、工厂模式

优势:规范接口(纯虚函数);实现多态(虚函数表);继承

  • 1、简单工厂

一个工厂创建所有产品。

返回基类指针可以创建不同的派生类,实现不同功能。

1、产品基类(设计):抽象类    

2、派生具体的产品A类(设计)

3、派生具体的产品B类(设计)

4、工厂类 (生产)         

注意:纯虚函数被派生类实现完后即为虚函数,当基类指针指向派生类对象时,当基类指针调用虚函数时即调用的是派生类虚函数;当基类指针调用普通函数时,即调用的是基类函数。                                             

  • 2、工厂方法模式(生产简单产品)

不同工厂创建不同产品。

1、产品基类 抽象类  (产品属性)

2、派生具体的产品A类

3、派生具体的产品B类

4、工厂类 抽象类    (生产方式)

5、具体的工厂类A

6、具体的生产类B

  • 3、抽象工厂模式(生产复杂产品)

1、产品基类 抽象类  (产品属性)

2、派生具体的产品A类

3、派生具体的产品B类

4、工厂类 抽象类    (生产方式)

5、具体的工厂类A

6、具体的生产类B