Facae模式的目的在于提供一个接口,使子系统更加容易使用
4.1 外观类,工具类和示例类
工具类:解决一类问题的类,仅使用静态方法,在UML中被叫做工具类
示例类:演示如何使用类或子系统的例子。通常是一个包含数据的可运行的应用程序,不属于Java类库。
外观类:方法可能都是静态方法,有许多便利之处。方便子系统使用。可配置,可重用。目的是应用在实际环境中,属于Java类库。
例如 JDailog有丰富的特性。 JOptionPane就是一个JDailog的外观类,方便用户使用。
外观类介于丰富的工具包和特定的应用之间,虽然方便了使用,但不利于掌握丰富的Java类库。
4.2 重构为Facade的模式
一个重构的例子
使用了参数方程
从子系统的各个类中重构,便于用户使用
总结
为了便于子系统的用户的使用,我们在子系统中提供示例类和外观类。(仅是用户使用)
(例如 MessageBox 就是外观类,用户使用的时候,不需要自己写Dialog,仅是配置一下参数即可,当然用户可以重写MessageBox)