设计模式读书笔记:Facade(外观)

原创 2015年07月10日 16:36:30

意图:

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

结构图:来自 《23种设计模式 - 郗晓勇》


实现:https://github.com/panshiqu/patterns/tree/master/Facade

Facade

#include "Input.h"
#include "Output.h"

namespace NS_FACADE {

class Facade {
public:
	Facade() {}
	virtual ~Facade() {}
	void inputAndOutput(void)
	{
		Input in;
		Output out;
		out.outputStr(in.inputStr());
	}
};

} /* namespace NS_FACADE */
Input

#include <iostream>

namespace NS_FACADE {

class Input {
public:
	Input() {}
	virtual ~Input() {}
	std::string inputStr(void)
	{
		std::string str;
		std::cin >> str;
		return str;
	}
};

} /* namespace NS_FACADE */
Output

#include <iostream>

namespace NS_FACADE {

class Output {
public:
	Output() {}
	virtual ~Output() {}
	void outputStr(std::string str)
	{
		std::cout << str << std::endl;
	}
};

} /* namespace NS_FACADE */
main

#include "Facade/Facade.h"
using namespace NS_FACADE;
int main(void)
{
	Facade facade;
	facade.inputAndOutput();
}
附加:
版权声明:本文为博主原创文章,未经博主允许不得转载。

浅谈JAVA设计模式之——外观模式(Facade)

一、概述 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二、适用性 1.当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断...
  • l1028386804
  • l1028386804
  • 2015年05月07日 23:32
  • 3193

设计模式(结构型)之外观模式(Facade Pattern)

一个客户类需要和多个业务类交互,而这些业务类经常会作为整体出现,由于涉及到的类比较多,导致使用时代码较为复杂。外观模式通过引入一个新的外观类(Facade)来实现该功能,外观类为多个业务类的调用提供统...
  • yanbober
  • yanbober
  • 2015年05月04日 09:29
  • 2410

23种设计模式(1)-Facade设计模式

前记        曾经我遇见的一个需求是这样的,接口A有个方法void methodA(),类B需要实现接口A的methodA()方法,并且在类B中需要把methodA()方法内部处理逻辑获得的结...
  • duchao123duchao
  • duchao123duchao
  • 2016年05月16日 14:47
  • 2780

《设计模式解析》读书笔记之Facade Pattern(外观模式)

设计模式解析读书笔记之Facade Pattern外观模式 一Facade Pattern 模式简介 二Facade Pattern关键特征 三代码 1子系统 2Facade外观类 3客户端 4结果《...
  • qiwenmingshiwo
  • qiwenmingshiwo
  • 2016年06月25日 11:17
  • 364

第7章 门面模式【Facade Pattern】---- 设计模式之禅读书笔记

第7章 门面模式【Facade Pattern】---- 设计模式之禅读书笔记 大家都是高智商的人,都写过纸质的信件吧,比如给女朋友写情书什么的,写信的过程大家都还记得吧, 先写信的内容,...
  • lord_is_layuping
  • lord_is_layuping
  • 2012年04月12日 11:09
  • 1052

大话设计模式读书笔记之外观模式

1.定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2.UML类图: 3.简单代码实现:package com.guo.facadeP...
  • GUO_YANG_FAN
  • GUO_YANG_FAN
  • 2017年11月22日 16:25
  • 96

设计模式读书笔记-----外观模式

前面介绍的适配器模式(设计模式读书笔记-----适配器模式)讲的是如何将一个接口转换成客户所需要的另一个接 口,它的目的在于解决接口的不兼容性问题。现在这里有这样一个模式,它的目的在于如何简化接口,...
  • IT1039871366
  • IT1039871366
  • 2016年01月22日 10:35
  • 253

4.java设计模式(读书笔记)外观模式

外观模式是一种结构型模式。 如果我需要分别调用testA.testB.testC三个方法我们可以新建一个对象Facade。这个Facade类里面封装好了调用这3个方法的方法。 使用Facade...
  • yang_niuxxx
  • yang_niuxxx
  • 2016年10月27日 16:21
  • 178

《Android源码设计模式》读书笔记 (22) 第22章 外观模式

前言 外观模式是封装API的常用手段.通过一个外观类使得整个系统的接口只有一个统一的高层接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节. 定义 定义:要求一个子系统的外部与内部的通信必须...
  • qq_28690547
  • qq_28690547
  • 2016年04月12日 16:18
  • 146

【读书笔记-重构与模式】 Facade外观模式-为系统提供统一简单接口

《设计模式》中对Facade模式是这样叙述的: 为子系统的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使得子系统更加容易使用。 Facade模式的关键特征: 意图:...
  • ohmygirl
  • ohmygirl
  • 2012年07月12日 14:56
  • 1022
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式读书笔记:Facade(外观)
举报原因:
原因补充:

(最多只允许输入30个字)