Facade模式

简介:

更加easy使用。外观模式是一种使用频率很高的模式。通过引入外观角色简化了client与子系统之间的交互,通过一个统一的接口来使用子系统复杂的调用,减少了子系统和client的耦合。

通过现实生活中的一个样例来说明这个问题。我们大学生非常多人都有去电脑城装机的经历。假设我们自己去装机,须要分别购买CPU,内存。硬盘,显示器,机箱和键鼠等配件。整个过程非常麻烦,并且须要了解各种配件的细节以及组装方法。

我们也可能去找电脑城专门帮别人装机的人,他们富有经验。了解各个配件的的细节和组装方法,我们仅仅须要付给他们一些些money就能够省去非常多麻烦。。在这个样例中,这个装机的人就是外观角色,提供给我们一个简洁的接口。自己去处理子配件中各种复杂的事物。

外观模式是迪米特法则的直观应用。模块相互直接应当遵循最少知道原则,低耦合的关系可以减少系统的复杂度,简化client和子系统之间的关系。

外观模式的UML图:


相应的C++实现:

class Package1
	{
	public:
		void method1()
		{
			cout << "method1" << endl;
		}
	};
	class Package2
	{
	public:
		void method2()
		{
			cout << "method2" << endl;
		}
	};
	class Package3
	{
	public:
		void method3()
		{
			cout << "method3" << endl;
		}
	};

	class Facade
	{
	public:
		void doSomething()
		{
			p1->method1();
			p2->method2();
			p3->method3();
		}
		Facade()
		{
			p1 = new Package1();
			p2 = new Package2();
			p3 = new Package3();
		}
		~Facade()
		{
			delete p1;
			delete p2;
			delete p3;
		}
	private:
		Package1 *p1;
		Package2 *p2;
		Package3 *p3;
	};
	
	void test()
	{
		Facade *facade = new Facade();
		facade->doSomething();
		delete facade;
	}

版权声明:本文博客原创文章。博客,未经同意,不得转载。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4640922.html,如需转载请自行联系原作者


相关文章
|
设计模式 算法
设计模式7 - 门面模式【Facade Pattern】
设计模式7 - 门面模式【Facade Pattern】
66 1
|
22天前
|
设计模式 数据库 C#
外观模式(Facade Pattern)
外观模式(Facade Pattern)是一种结构型设计模式,为子系统中的一组接口提供一个一致的接口。它通过一个高层接口简化子系统的复杂性,使客户端更容易使用。外观模式的核心角色包括外观(Facade)和子系统(Subsystems),主要优点是降低复杂性和松耦合,适用于简化接口、分层设计和遗留代码集成等场景。
24 2
|
设计模式 Java
设计模式~门面(外观)模式(Facade)-08
目录 (1)优点 (2)缺点 (3)使用场景 (4)注意事项: (5)应用实例: (6)源码中的经典应用 代码 外观模式(Fac
67 0
|
设计模式
外观/门面模式(Facade)
外观/门面模式(Facade)
|
设计模式 Java 数据库连接
门面模式 Facade Pattern
主要内容有: 该模式的介绍,包括: 引子、意图(大白话解释) 类图、时序图(理论规范) 该模式的代码示例:熟悉该模式的代码长什么样子 该模式的优缺点:模式不是万金油,不可以滥用模式 该模式的应用案例:了解它在哪些重要的源码中被使用
172 0
|
设计模式
设计模式- Facade门面模式和Mediator调停者模式
设计模式- Facade门面模式和Mediator调停者模式
TP5.1门面类facade钩子behavior工具类,逻辑层service
TP5.1门面类facade钩子behavior工具类,逻辑层service
346 0
TP5.1门面类facade钩子behavior工具类,逻辑层service
|
设计模式 Linux Shell
结构型-Facade
门面模式的原理与实现 门面模式,也叫外观模式,英文全称是 Facade Design Pattern。在 GoF 的《设计模式》一书中,门面模式是这样定义的: Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to use. 翻译成中文就是:门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。
119 0
结构型-Facade
|
设计模式 JSON Java
【愚公系列】2021年12月 二十三种设计模式(十)-外观模式(Facade Pattern)
【愚公系列】2021年12月 二十三种设计模式(十)-外观模式(Facade Pattern)
133 0
【愚公系列】2021年12月 二十三种设计模式(十)-外观模式(Facade Pattern)

热门文章

最新文章