设计模式--外观模式

外i观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。

模型如下图

 

示例:假设理财的时候,有股票、期货及债权可供投资,如果我们想进行稳定投资,那么就买债权,想高收益,买股票和期货。外部使用的时候,需要自己来调用子系统类。如果我们做个基金接口,那么外部直接调用基金这个类就可以了。

示例代码如下:

//股票
class Stock
{
public:
	void BuyStock()
	{
		cout <<"投资股票"<<endl;
	};
};

//债券
class Band
{
public:
	void BuyBand()
	{
		cout << "投资期货"<<endl;
	};
};

//期货
class Futures
{
public:
	void BuyFutures()
	{
		cout << "投资期货"<<endl;
	};
};

class Fund
{
public:
	Fund()
	{
		pS = new Stock;
		pB = new Band;
		pF = new Futures;
	};

	~Fund()
	{
		delete pS;
		delete pB;
		delete pF;
	}

	void RiskFund()
	{
		cout <<"风险基金:"<<endl;
		pF->BuyFutures();
		pS->BuyStock();
	};

	void SteadyFund()
	{
		cout <<"稳健型基金:"<<endl;
		pB->BuyBand();
	}

private:
	Stock*   pS;
	Band*    pB;
	Futures* pF;
};

void Investment()
{
	//如果没有基金的话,需要自己进行组合
	Stock* pS = new Stock;
	Band*  pB = new Band;
	Futures* pF = new Futures;
	pS->BuyStock();
	pB->BuyBand();
	pF->BuyFutures();

	delete pS;
	delete pF;
	delete pB;
}

void main()
{
//	Investment(); 

	Fund* pFund = new Fund;
	pFund->RiskFund();
	cout <<"------"<<endl;
	pFund->SteadyFund();

	delete pFund;

	return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值