浅谈外观模式

外观模式,我的理解就是模块封装。比如要实现A类,需要BCD三个类,客户调用A类成员函数,A类调用BCD。对应客户看不到bcd,只能看到A,因此成为外观模式。这里理解为关联关系。

//复杂或多对象
class objectOne
{
  public void operator() 
  {
    cout<<"operator one
";
  }
}
class objectTwo
{
  public void operator() 
  {
    cout<<"operator two
";
  }
}
class objectThree
{
  public void operator() 
  {
    cout<<"operator three
";
  }
}
class objectFour
{
  public void operator() 
  {
    cout<<"operator four
";
  }
}
//外观实现
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()-----
");
    obj1.operator();
    obj2.operator();
    obj3.operator();
    obj4.operator();
  }
  public void MethodB() 
  {
    cout<<" Fun B()-----
");
    obj4.operator();
    obj3.operator();
    obj2.operator();
    obj1.operator();
  }
}
//调用
void main() 
{
  Facade facade = new Facade();
  facade.MethodA();
  facade.MethodB();
}
原文地址:https://www.cnblogs.com/jylz/p/10648338.html