一 前言
来看看相比其它模式来说比较好理解的一个模式 “外观模式” ,另附上其它相关模式的链接
二 外观模式介绍
2.1 什么是外观模式
是软件工程中常用的一种软件设计模式,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用
2.2 外观模式成员
Clients:客户对象通过一个外观接口读写子系统中各接口的数据资源。
Facade:这个外观类为子系统中Packages 1、2、3提供一个共同的对外接口
Packages(图中的System1,2,3):客户可以通过外观接口读取的内部库。
2.3 外观模式UML图
三 外观模式代码
Client类
////// Client类 向外观类(Facade)发起请求 /// class Program { static void Main(string[] args) { Facade facade = new Facade(); facade.CallBuy(); Console.Read(); } }
外观类
////// 外观类 将Client端的请求分发给指定的子系统 /// class Facade { private System sy1; private System2 sy2; private System3 sy3; public Facade() { sy1 = new System(); sy2 = new System2(); sy3 = new System3(); } public void CallBuy() { sy1.Buy(); sy2.Buy(); sy3.Buy(); } }
Packages(子系统类)
////// 子系统类 处理来自外观的请求 /// class System { public void Buy() { Console.WriteLine("子系统1执行Buy方法!"); } } class System2 { public void Buy() { Console.WriteLine("子系统2执行Buy方法!"); } } class System3 { public void Buy() { Console.WriteLine("子系统3执行Buy方法!"); } }
执行结果如下:
通过上面代码 大至可以知道 外观模式 对于多个子系统调用的统一规范调用很有帮助,将子系统的一些方法集中管理后使得子系统更容易使用
四 总结
路得一步一步走,代码得一行一行敲。 设计模式篇持续学习与更新中。。。。。
本人水平有限,如有不对之处还请指出 谢谢~
如果您觉得本文有给您带来一点收获,不妨点个推荐,为我的付出支持一下,谢谢~
如果希望在技术的道路上能有更多的朋友,那就关注下我吧,让我们一起在技术的路上奔跑