大话设计模式外观模式c++实现

本文深入探讨了设计模式中的外观模式,通过C++代码展示了其实现细节,并结合其他二十三种设计模式进行对比和理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

外观模式

其他二十三种设计模式

#include<iostream>

using namespace std;

//外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义一个高层接口,使得子系统更加容易使用

//子系统类
class Stock1 {
public:
	void Sell() {
		cout << "股票1卖出" << endl;
	}
	void Buy() {
		cout << "股票1买入" << endl;
	}
};

class Stock2 {
public:
	void Sell() {
		cout << "股票2卖出" << endl;
	}
	void Buy() {
		cout << "股票2买入" << endl;
	}
};

class Stock3 {
public:
	void Sell() {
		cout << "股票3卖出" << endl;
	}
	void Buy() {
		cout << "股票3买入" << endl;
	}
};

class NationalDebt1 {
public:
	void Sell() {
		cout << "国债1卖出" << endl;
	}
	void Buy() {
		cout << "国债1买入" << endl;
	}
};

class Realty1 {
public:
	void Sell() {
		cout << "房地产1卖出" << endl;
	}
	void Buy() {
		cout << "房地产1买入" << endl;
	}
};

//接口类
class Fun {
public:
	Fun() {
		pStock1 = new Stock1;
		pStock2 = new Stock2;
		pStock3 = new Stock3;
		pNationalDebt1 = new NationalDebt1;
		pRealty1 = new Realty1;
	}
	void BuyFun() {
		pStock1->Buy();
		pStock2->Buy();
		pStock3->Buy();
		pNationalDebt1->Buy();
		pRealty1->Buy();
	}
	void SellFun() {
		pStock1->Sell();
		pStock2->Sell();
		pStock3->Sell();
		pNationalDebt1->Sell();
		pRealty1->Sell();
	}
private:
	Stock1* pStock1;
	Stock2* pStock2;
	Stock3* pStock3;
	NationalDebt1* pNationalDebt1;
	Realty1* pRealty1;
};

void test1() {
	Fun* jijin = new Fun();
	jijin->BuyFun();
	jijin->SellFun();

	delete jijin;
}
int main() {
	test1();
	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值