c++外观模式

外观模式是将很多个类的行为统一管理形成新的外部接口,它强调内部类之间必须存在协作关系,和外部其他类之间又可看作独立的系统。

#include <iostream>
using namespace std;

class CPU {
public:
    void calculation() {}
};

class Memory {
public:
    void cache() {}
};

class Disk {
public:
    void read() {}
    void write() {}
};

class Card {
public:
    void view() {}
};

//如果有了电脑,这就是外观模式,统一管理很多相互协作的类。
class Computer {
    CPU cpu;
    Memory memory;
    Card card;
    Disk disk;
public:
    void keyBoard() {}
    void mouse() {}
    void moniter() {}
};

int main()
{
    //如果没有电脑(外观),那么我们想要播放视频,需要这样做。
    //...
    Disk().read();
    //...
    Memory().cache();
    //...
    CPU().calculation();
    //...
    Card().view();
    //...

    //客户程序只需要点机鼠标,观看屏幕。
    Computer computer;
    computer.mouse();
    computer.moniter();

    return 0;
}

外观模式稳定的部分是多个类之间的协作关系Computer即它们之间是如何协作的,易变的部分是各个内部类具体的实现CPU/Memory/Disk/Card。如:更换cpu或者硬盘是不会影响电脑的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值