Design patterns V : Facade Pattern
来源:互联网 发布:cms什么意思 编辑:程序博客网 时间:2024/05/30 04:13
/*
Author: Jiangong SUN
*/
Facade Pattern (外观模式) provides a unique interface to a set of methods of different subsystems in an application. It's widely used in application development.
It's a structural pattern.
Now let's see the implementation in CSharp.
Firstly, create subsystems and their methods.
class SubSytemOne { public void MethodOne() { Console.WriteLine("SubSystemOne Method"); } } class SubSytemTwo { public void MethodTwo() { Console.WriteLine("SubSystemTwo Method"); } } class SubSytemThree { public void MethodThree() { Console.WriteLine("SubSystemThree Method"); } } class SubSytemFour { public void MethodFour() { Console.WriteLine("SubSystemThree Method"); } }
Create Facade class and its methods as an interface to subsystems' methods' aggregation.
class Facade { private readonly SubSytemOne _one; private readonly SubSytemTwo _two; private readonly SubSytemThree _three; private readonly SubSytemFour _four; public Facade() { _one = new SubSytemOne(); _two = new SubSytemTwo(); _three = new SubSytemThree(); _four = new SubSytemFour(); } public void MethodA() { Console.WriteLine("MethodA():"); _one.MethodOne(); _three.MethodThree(); } public void MethodB() { Console.WriteLine("MethodB():"); _two.MethodTwo(); _four.MethodFour(); } public void MethodC() { Console.WriteLine("MethodC():"); _one.MethodOne(); _two.MethodTwo(); _four.MethodFour(); } }
The clients can call facade's methods to satisfy its requirements.
var facade = new Facade(); facade.MethodA(); facade.MethodB(); facade.MethodC();
So this is the implementation of facade pattern. I hope you enjoy this article. Enjoy coding!
references:
http://www.dofactory.com/Patterns/PatternFacade.aspx#_self1
http://zh.wikipedia.org/wiki/%E5%A4%96%E8%A7%80%E6%A8%A1%E5%BC%8F
- Design patterns V : Facade Pattern
- Design Pattern - Structural Patterns - Facade Pattern
- Design Patterns Uncovered: The Facade Pattern
- Design pattern----Facade Pattern
- Design Patterns -- Facade
- Design Pattern 16-Facade
- design pattern : Facade
- java design pattern -- facade
- Design Pattern: Facade 模式
- Facade Design Pattern
- 一句话Design Pattern:Facade
- 【Design Pattern】-----Facade
- Design Pattern(9)-Facade Pattern
- Design Pattern----Creational Patterns
- Design Pattern----Structural Patterns
- Design Pattern----Behavioral Patterns
- Design Patterns - Bridge Pattern
- Design Patterns - Visitor Pattern
- 从给定字符串中寻找子串,如果存在子串,返回子串初始位置
- 对动态数组用 选择排序算法排序(C语言)
- vmware下安装ubuntu键盘不能使用 root默认密码
- 对象内存布局 (6)
- 最优二叉查找树
- Design patterns V : Facade Pattern
- 对象内存布局 (7)
- 通过 WSUS 部署 FCS 客户端
- Android裁剪图片为圆形图片
- 周鸿祎在360新员工入职培训上的讲话
- 实践手记--串口通信/Windows API 实现 No.2:二代证操作简单实例
- 对象内存布局 (8)
- Linux 多线程 线程中段退出 互斥量解锁问题
- 转载——OpenGL入门学习