等了好久,终于想起来开写了,这次写的是外观模式,记得大学时弄课程设计,外观模式搞得我比较混乱,因为单词不认识,后来觉得有点蛋疼,感觉是一坨混乱的东西然后加个壳再弄几个外部调用的接口而已。个人认为,Facade模式是最简单的模式了,大系统引用子系统的对象,直接调用之。
书中定义:外观模式(Facade)为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使用得这一子系统更加容易使用。
子系统没有Facade的任何信息,Facade有子系统的一个引用。代码是极简单的,不给了。
UML类图
Facade使用场景:
Facade在维护一个老旧系统时,起到了一种“姑息疗法”的作用,老系统太复杂了,根本不想去动它,但很多东西又要用到,怎么办呢,就想到了用这种快速设计的方法。
在设计新系统时,层与层之间(如:数据访问层与业务逻辑层、业务逻辑层与表示层)也可以建立Facade,降低系统复杂度。
在开发阶段,各种子系统会因为重构变得复杂,用外观来降低其复杂度。