C++设计模式之外观模式 C++设计模式之外观模式(Facade)
本文讲解:“C++设计模式之外观模式 C++设计模式之外观模式(Facade)”以下是相关内容。
想了解C++设计模式之外观模式(Facade)的相关内容吗,chencarl在本文为您仔细讲解C++设计模式之外观模式的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C++,设计模式,外观模式,下面大家一起来学习吧。
外观模式应该是程序员最下意识用的一种模式,比如我们习惯性的对复杂系统做一个封装接口。外观模式其本质是对一堆复杂对象和应用的接口抽象,对它们进行封装隔离,对于调用者来说只需要关系接口的实现,而不需要知道内部有哪些对象和调用。
作用
为模块的一组接口提供一致的界面,定义了一个高层接口,这个接口使得这一模块更加容易使用。
类视图

实现
//复杂或多对象
class objectOne
{
public void operator()
{
cout<<"operator one\n";
}
}
class objectTwo
{
public void operator()
{
cout<<"operator two\n";
}
}
class objectThree
{
public void operator()
{
cout<<"operator three\n";
}
}
class objectFour
{
public void operator()
{
cout<<"operator four\n";
}
}
//外观实现
class Facade
{
objectOne one;
objectTwo two;
objectThree three;
objectFour four;
public Facade()
{
obj1 = new objectOne();
obj2 = new objectTwo();
obj3 = new objectThree();
obj4 = new objectFour();
}
public void MethodA()
{
cout<<" Fun A()-----\n");
obj1.operator();
obj2.operator();
obj3.operator();
obj4.operator();
}
public void MethodB()
{
cout<<" Fun B()-----\n");
obj4.operator();
obj3.operator();
obj2.operator();
obj1.operator();
}
}
//调用
void main()
{
Facade facade = new Facade();
facade.MethodA();
facade.MethodB();
}
应用场景
- 构建上下层次的模块时,如果上下进行调用,则会出现强耦合,用外观模式实现上下级模块的接口,简化相互调用的交叉,降低上下层的耦合度;
- 在多个复杂模块相互协作工作时,向上用外观类提炼出高层接口,对外隐藏其内部的实现并隔离变化;
- 对单独模块或者对复杂模块的封装,提炼出外观类进行封装访问,解耦合。
温馨提示
以上就是“C++设计模式之外观模式 C++设计模式之外观模式(Facade)”这篇文章的所有内容了,相信大家也都认真的看完了,如果大家还有不懂的问题,可以通过搜索来获取更多相关的内容,最后记得给蓝图技术网小编点个赞以及收藏内容。免责声明:
1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com

还没有评论,来说两句吧...