标签:
1. 定义
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
2. 结构
Facade: 定义子系统的多个模块对外的高层接口,通常需要调用内部多个模块,从而把客户的请求代理给适当的子系统对象
模块:接受Facade对象的委派,真正实现功能,各个模块之间可能有交互。Facade对象知道各个模块,但是各个模块不知道Facade对象
coding...
3.外观模式目的
不是给子系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单地使用子系统
4.Facade实现
可以实现为一个单例,也可以作为一个接口
5.本质
交互封装,简化调用
6.设计原则体现
最少知道原则==》迪米特法则
7. 相关模式
中介者模式
目前JAVAWEB开发中的分层模式,其实采用的就是外观模式,例如Controller对于View来说就是一个外观,Service对于Controller来说就是一个外观,Dao对于Service来说就是一个外观,最后简化成一句话就是任何一个高聚合的类都体现了外观模式的设计原则
标签:
原文地址:http://www.cnblogs.com/zhaojunyang/p/5746657.html