外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
比如:投资者之前购买股票,因此需要了解各种股票的信息。现在改为购买基金,就只需要了解一个基金,而不用关心基金中具体有哪些股票·。
UML:
//股票1
class Stock1 {
public:
void Buy()
{
cout << "买入股票1" << endl;
}
void Sell()
{
cout << "卖出股票1" << endl;
}
};
//股票2
class Stock2 {
public:
void Buy()
{
cout << "买入股票2" << endl;
}
void Sell()
{
cout << "卖出股票2" << endl;
}
};
//股票3
class Stock3 {
public:
void Buy()
{
cout << "买入股票3" << endl;
}
void Sell()
{
cout << "卖出股票3" << endl;
}
};
//基金
class Fund {
private:
Stock1 stock1;
Stock2 stock2;
Stock3 stock3;
public:
void Buy()
{
stock1.Buy();
stock2.Buy();
stock3.Buy();
}
void Sell()
{
stock1.Sell();
stock2.Sell();
stock3.Sell();
}
};
int main()
{
Fund fund;
fund.Buy();
fund.Sell();
system("pause");
return 0;
}