虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C/C++编程 > C++设计模式之外观模式(Facade)

C++设计模式之外观模式(Facade)
类别:C/C++编程   作者:码皇   来源:互联网   点击:

这篇文章主要为大家详细介绍了C++设计模式之外观模式(Facade),具有一定的参考价值,感兴趣的小伙伴们可以参考一下

外观模式应该是程序员最下意识用的一种模式,比如我们习惯性的对复杂系统做一个封装接口。外观模式其本质是对一堆复杂对象和应用的接口抽象,对它们进行封装隔离,对于调用者来说只需要关系接口的实现,而不需要知道内部有哪些对象和调用。

作用

为模块的一组接口提供一致的界面,定义了一个高层接口,这个接口使得这一模块更加容易使用。

类视图

实现

    //复杂或多对象class objectOne{
    public void operator() {
    cout<<"operator onen";
    }
    }
    class objectTwo{
    public void operator() {
    cout<<"operator twon";
    }
    }
    class objectThree{
    public void operator() {
    cout<<"operator threen";
    }
    }
    class objectFour{
    public void operator() {
    cout<<"operator fourn";
    }
    }
    //外观实现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++设计模式之策略模式(Strategy)
  • C++设计模式之模板方法模式(TemplateMethod)
  • C++设计模式之观察者模式(Observer)
  • C++设计模式之迭代器模式(Iterator)
  • C++设计模式之适配器模式(Adapter)
  • C++设计模式之建造者模式(Builder)
  • C++设计模式之装饰模式(Decorator)
  • C++设计模式之代理模式(Proxy)
  • C++和java设计模式之单例模式
  • C++设计模式之享元模式(Flyweight)
相关热词搜索: C++ 设计模式 外观模式