外观模式(C++)

2021-05-11 14:28

阅读:672

标签:star   down   end   rri   隐藏   系统   外观   github   str   

介绍

外观模式: 隐藏系统的细节,只向客户端提供一个可访问系统的接口. 属于结构型模式,通过向现有系统添加一个接口,来隐藏系统的复杂性.

目的: 定义一个高层接口,为子系统中的一组接口提供一个一致的界面,使得子系统更易被使用.

关键代码: 在客户端个复杂系统之间再加一层,这一层将调用顺序\依赖关系处理好.

优点:

  • 减少系统的相互依赖;
  • 提高灵活性;
  • 提高安全性.

缺点:

  • 不符合开闭原则,如果要修改很麻烦,继承重写都不适合.

使用场景:

  • 为复杂的模块或子系统提外界访问的接口;
  • 子模块相对独立;
  • 预防低水平人员带来的风险.

UML

技术图片

示例

#include 

//抽象控件类
class Component {
public:
    virtual void Start() = 0;
    virtual void Stop() = 0;
};

//子控件
class ComponentA : public Component {
public:
    void Start() override {
        std::cout 

其实很简单...我们写的函数都算是组装了,从广义看也算外观设计模式了...

外观模式(C++)

标签:star   down   end   rri   隐藏   系统   外观   github   str   

原文地址:https://www.cnblogs.com/xl2432/p/13150860.html


评论


亲,登录后才可以留言!