外观模式
来源:互联网 发布:淘宝店铺怎么重新装修 编辑:程序博客网 时间:2024/06/05 11:19
外观模式
定义:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。
结构:Façade:这个外观类为子系统提供一个共同的对外接口
Clients:客户对象通过一个外观接口读写子系统中各接口的数据资源。
客户类和子系统:
适用:
(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。
(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
(3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
优点:(1)实现了子系统与客户端之间的松耦合关系。
(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
缺点:如果增加新的子系统可能需要修改外观类或客户端的源代码,这样就违背了“开——闭原则”。
示例:股民炒股
客户端代码:
class Program { static void Main(string[] args) { Fund jijin = new Fund(); jijin.BuyFund(); jijin.SellFund(); Console.Read(); } }
股票:
//股票 class Stock { public void Sell() { Console.WriteLine("股票卖出"); } public void Buy() { Console.WriteLine("股票买入"); } }
基金:
//基金类 class Fund { Stock gu; public Fund() { gu = new Stock(); } public void BuyFund() { gu.Buy(); } public void SellFund() { gu.Sell(); }}
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。你可以为新系统开发一个外观Façade类,来提供设计粗糙或高度复杂的遗留代码的比较清晰简单的接口,让新系统与Façade对象交互,Façade与遗留代码交互所有复杂的工作。
0 0
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 提示音量增加事件
- SSM框架 SSM项目源码 SSM源码
- Git(三)远程仓库操作
- Matlab——通信原理小程序
- SpringMVC+Mybatis框架整合源码 rest websocket html5
- 外观模式
- 按钮触摸事件
- 上机题目(初级)-计算两个正整数的最大公约数和最小公倍数(Java)
- 复习笔记
- LeetCode:219. Contains Duplicate II
- 从零开始写javaweb框架笔记9-细节完善与代码优化-完善控制器层
- malloc()与calloc区别
- 熊猫密度分布制图
- C++笔记:拷贝函数和移动函数