2020.12.7 第19课 C++设计模式
01_设计模式原则
1.设计类的时候,类与类之间存在数据交互,尽量采用抽象
2.多采用组合方式,减少继承
3.数据成员不要采用公有形式,如果要访问,采用接口
int& getX();
模式
在一定环境中解决某一问题的方案,包括三个基本元素–问题,解决方案和环境。
大白话:在一定环境下,用固定套路解决问题。
设计模式(Design pattern**)**
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;
02_抽象工厂类
/*
抽象工厂模式:加工厂
1.抽象工厂类:
多个产品的结构声明+任何工厂类都必须实现接口
2.具体工厂类: 抽象类
抽象工厂的实现
3.抽象角色类
描述所有实例中共有接口
4.具体产品类
具体实例实现
*/
#include <iostream>
#include <string>
using namespace std;
//美女类 抽象角色类
class MM
{
public:
virtual ~MM(){
}
MM(string name):name(name){
}
virtual void mmName() = 0; //抽象类:具有纯虚函数的类就是抽象类
protected:
string name;
};
class MMFactory //抽象工厂类
{
public:
virtual ~MMFactory(){
}
virtual MM *getBeautyMM() = 0;
virtual MM *getOldMM() = 0;
virtual MM *getBoyMM() = 0