设计模式15——外观模式

外观模式中提供一个统一的接口,然后对外观操作,内部成员可以不相同。

 1 #ifndef Facade_H_H
 2 #define Facade_H_H
 3
 4 class A{
 5 public:
 6     void showA(){
 7         cout << "This is class A" << endl;
 8     }
 9 };
10
11 class B{
12 public:
13     void showB(){
14         cout << "This is class B" << endl;
15     }
16 };
17
18 class C{
19 public:
20     void showC(){
21         cout << "This is class C" << endl;
22     }
23 };
24
25 class Facade{
26 public:
27     Facade(){
28         pA = new A();
29         pB = new B();
30         pC = new C();
31     }
32
33     void show(){
34         pA->showA();
35         pB->showB();
36         pC->showC();
37     }
38
39     ~Facade(){
40         delete pA;
41         delete pB;
42         delete pC;
43     }
44
45 private:
46     A *pA;
47     B *pB;
48     C *pC;
49 };
50
51
52 void FacadeTest(){
53     Facade *facade = new Facade();
54     facade->show();
55
56     delete facade;
57 }
58
59 #endif
时间: 2024-08-26 14:54:20

设计模式15——外观模式的相关文章

设计模式之外观模式(Facade)摘录

23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象.创建型模式有两个不断出现的主旋律.第一,它们都将关于该系统使用哪些具体的类的信息封装起来.第二,它们隐藏了这些类的实例是如何被创建和放在一起的.整个系统关于这些对象所知道的是由抽象类所定义的接口.因此,创建型模式在什么被创建,谁创建它,它是怎样被创建的,以

【设计模式】外观模式

外观模式:它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用.这其实就是一个分层的思想,将较低层复杂的操作交由较高层同一管理,并向用户程序提供简单易用的接口.下面是一个用C++编写的外观模式的例子. #include <iostream> #include <string> using namespace std; // 键盘类 class Keyboard { public: string Type(const string &input) { retur

【设计模式】——外观模式

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 外观模式结构图: 代码模板: //四个子系统的类class SubSystemOne{public:    void MethodOne()    {        cout << "子系统方法一" << endl;    }};class SubSystemTwo{public:    void MethodTwo()    {  

c++设计模式15 --组合模式

今天研究了一下设计模式15 组合模式 本人是菜鸟一枚,所以一开始完全不懂组合究竟是什么意思.先上图一张,树形结构图: 文档说,如果想做出这样的结构,通常考虑组合模式.那是为什么呢?现在让我们看一下组合模式的类图一本结构 想了很久,结合源代码,才搞明白,其实这个组合,意思就是说,如果我们要做这种树状结果,比如公司想让我们吧所有部门人员的 姓名,职位,薪水遍历出来,这个时候怎么办呢?那我们看树状机构图,有叶子结点和枝干结点,2种,但是2种有共性,那就是每个结点都有姓名,职位,薪水.所有叶子结点和枝干

C#设计模式(15)——命令模式(Command Pattern)

原文:C#设计模式(15)--命令模式(Command Pattern) 一.前言 之前一直在忙于工作上的事情,关于设计模式系列一直没更新,最近项目中发现,对于设计模式的了解是必不可少的,当然对于设计模式的应用那更是重要,可以说是否懂得应用设计模式在项目中是衡量一个程序员的技术水平,因为对于一个功能的实现,高级工程师和初级工程师一样都会实现,但是区别在于它们实现功能的可扩展和可维护性,也就是代码的是否“优美”.可读.但是,要更好地应用,首先就必须了解各种设计模式和其应用场景,所以我还是希望继续完

设计模式之外观模式(九)

设计模式之外观模式 一.引言 当一个复杂的系统由多个复杂的子系统构成,然后客户端调用会调用多个子系统.这时,客户端会和多个子系统耦合在一起,当子系统需要扩展或者改变时,客户端也要随之改变,我们可以使用外观模式将客户端和子系统进行解耦. 二.介绍 意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口. 何时使用: 1.客户端不需要知道系统内部的复杂联系,整个系统只需提供

C#设计模式(11)——外观模式(Facade Pattern)

一.引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 "门面"模式.下面就具体介绍下外观模式. 二.外观模式的详细介绍 2.1 定义 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用.使用外观模式时,我们创建了一个统一的类,用来包装子系统中一个或多个复杂的类,客户端可以直接通过外观类来调用内

java设计模式之外观模式(门面模式)

针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下. 一.概念介绍 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口.这种类型的设计模式属于结构性模式.为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用. 二.角色及使用场景 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用.这个模式中,设计到3个角色. 1).门面角色:外观模式的核心.它被客户角色调用,它熟悉子系统的功

设计模式 笔记 外观模式 Facade

//---------------------------15/04/16---------------------------- //Facade 外观模式-----对象结构型模式 /* 1:意图: 为子系统的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得 这一子系统更加容易使用. 2:动机: 3:适用性: 1>当你要为一个复杂子系统提供一个简单接口时. 子系统往往因为不断演化而变得越来越复杂.大多数模式使用时都会产生更多更小的类. 这使得子系统更具可重用性,也更