什么是外观模式?
定义:为子系统中的一组接口提供一个一致的界面,用来访问子系统中的一群接口。
外观模式主要组成
外观角色(Facade):负责子系统的的封装调用
子系统类(Subsystem Classes):具体的子系统,实现由外观模式Facade对象来调用的具体任务
外观模式代码实现
代码略。。。。。。
在实际开发当中,外观模式基本可以说一直在使用。在MVC架构的项目当中,在controller层通过service层来操作dao层就是外观模式的具体表现。
service 就相当于Facade对象 ,dao就相当于子系统。
外观模式注意事项和细节
- 外观模式对外屏蔽了子系统的细节,因此外观模式降低了客户端对子系统使用的复杂性。
- 外观模式对客户端与子系统的耦合关系 - 解耦,让子系统内部的模块更易维护和扩展
- 通过合理的使用外观模式,可以帮我们更好的划分访问的层次
- 当系统需要进行分层设计时,可以考虑使用Facade模式
- 在维护一个遗留的大型系统时,可能这个系统已经变得非常难以维护和扩展,此时可以考> 虑为新系统开发一个 Facade 类,来提供遗留系统的比较清晰简单的接口,让新系统与 Facade 类交互,提高复用性
- 不能过多的或者不合理的使用外观模式,使用外观模式好,还是直接调用模块好。要以让系统有层次,利于维护为目的。