关闭

设计模式_外观模式

标签: 外观模式设计模式c++完整可运行代码新手
202人阅读 评论(0) 收藏 举报
分类:

外观模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

#ifndef _FACADE_H_
#define _FACADE_H_
#include<iostream>

//子系统1
class subSystemOne
{
public:
    void subMethoredOne()
    {
        std::cout<< "subsystem one" << std::endl;
    }
};

//子系统2
class subSystemTwo
{
public:
    void subMethoredTwo()
    {
        std::cout<< "subsystem two" << std::endl;
    }          
};

//子系统3
class subSystemThree
{
public:
    void subMethoredThree()
    {
        std::cout<< "subsystem three" << std::endl;
    }
};

//外观,对外提供简单的接口
class facade
{
public:
    facade()
    {
        sub1 = new subSystemOne();
        sub2 = new subSystemTwo();
        sub3 = new subSystemThree();
    }

    //组合子系统,对外提供的功能A
    void methoredA()
    {
        sub1->subMethoredOne();
        sub2->subMethoredTwo();
    }

    //组合子系统,对外提供的功能B
    void methoredB()
    {
        sub1->subMethoredOne();
        sub3->subMethoredThree();
    }

private:
    subSystemOne * sub1;
    subSystemTwo * sub2;
    subSystemThree * sub3;
};

#endif

int main()
{
    facade * face = new facade();
    face->methoredA();
    face->methoredB();
    return 0;
}


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5433次
    • 积分:387
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条
    最新评论