《外观模式(极简c++)》

本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客

模式说明
  • 方案: 外观模式提供了一个统一的接口,简化了一组复杂子系统的访问方式。
  • 优点:
    • 将客户端与子系统解耦,降低了复杂性。
    • 提高了代码的灵活性和可维护性。
  • 缺点:
    • 可能导致外观类过于庞大,承担了过多的责任。
    • 增加了系统的抽象层,有时会影响性能。
本质思想:外观模式的本质思想是为一组复杂的子系统提供一个简单的接口,隐藏其复杂性,使得客户端可以更轻松地使用。
实践建议:只对使用十分高频,且逻辑链路复杂,且使用者不需要关心内部逻辑的场景使用

示例代码

cpp 复制代码
#include <iostream>

// 子系统类:鸟
class Bird {
public:
    void fly() {
        std::cout << "Bird is flying." << std::endl;
    }

    void sing() {
        std::cout << "Bird is singing." << std::endl;
    }
};

// 外观类:鸟操作
class BirdFacade {
private:
    Bird bird;

public:
    void performActions() {
        bird.fly();
        bird.sing();
    }
};

int main() {
    BirdFacade birdFacade;
    birdFacade.performActions(); // 输出: Bird is flying. Bird is singing.
    return 0;
}
相关推荐
点云侠11 分钟前
【2025最新版】PCL点云处理算法汇总(C++长期更新版)
c++·算法·计算机视觉·3d·可视化
码农阿豪18 分钟前
飞算JavaAI:专为Java开发者打造的智能编程革命
java·开发语言·microsoft
Q_Q196328847522 分钟前
python基于Hadoop的超市数据分析系统
开发语言·hadoop·spring boot·python·django·flask·node.js
暮乘白帝过重山24 分钟前
负载因子(Load Factor) :哈希表(Hash Table)中的一个关键性能指标
开发语言·数据结构·哈希算法·散列表·负载因子·暮乘白帝过重山
山中月侣25 分钟前
java集合 之 多列集合
java·开发语言·经验分享·学习方法
MediaTea44 分钟前
Python 第三方库:Requests(HTTP 客户端)
开发语言·网络·python·网络协议·http
Mr_Xuhhh1 小时前
传输层协议 TCP(1)
运维·服务器·网络·c++·网络协议·tcp/ip·https
sTone873752 小时前
QuickJS 的核心概念和核心 API
前端·c++
Forward♞2 小时前
Qt——实现”Hello World“、认识对象树与Qt坐标系
开发语言·qt
草莓熊Lotso2 小时前
《吃透 C++ 类和对象(中):拷贝构造函数与赋值运算符重载深度解析》
开发语言·c++·经验分享·笔记·其他