设计模式之八、外观模式Facade

设计模式之八、外观模式Facade</br>
适用范围:</br>
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。</br>
实例:</br>
如炒股。有各种股票,债券,这些可以理解为子类,基金类呢,可以包含各种股票和债券。</br>
不知道有没有说明白。就是在外观类中,可以调用各子类中的方法,这样有利于封装子类中的方法,只对外开放外观类中的方法。</br>
外观模式结构图如下所示:</br>

C++关键代码如下:</br>
1、子类CSubA.cpp</br>
void CSubA::OperateA()</br>
{</br>
   cout<<"Sub A Operate A"<<endl;</br>
}</br>
2、子类CSubB.cpp</br>
void CSubB::OperateB()</br>
{</br>
   cout<<"Sub B Operate B"<<endl;</br>
}</br>
3、子类CSubC.cpp</br>
void CSubC::OperateC()</br>
{</br>
   cout<<"Sub C Operate C"<<endl;</br>
}</br>
4、外观类实现Facade</br>
Facade.h</br>
private:</br>
CSubA *m_suba;</br>
CSubB *m_subb;</br>
CSubC *m_subc;</br>

Facade.cpp</br>

Facade::~Facade()

{

   delete m_suba;

   delete m_subb;

   delete m_subc;
}
Facade::Facade():m_suba(new CSubA()),m_subb(new CSubB()),m_subc(new CSubC())

{</br>
}</br>

Facade::MethodA()</br>
{</br>
m_suba->OperateA();</br>
m_subb->OperateB();</br>
}</br>

Facade::MethodB()</br>
{</br>
m_suba->OperateA();</br>
m_subc->OperateC();</br>
}</br>

5、客户端实现 main.cpp</br>

Facade f;</br>
f.MethodA();</br>
f.MethodB();</br>

<br>

以上,仅供参考。</br>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值