java23种设计模式二(连载)
二、适配器模式
外观模式为他的子系统提供一个接口,使子系统能够更加方面的使用。使用外观模式,只需要少量代码,就能提供典型的、无修饰用法的类库中的类。一个外观就是一个类,它包含的功能介于工具包与完整的应用程序之间,为工具包或子系统的类提供了简单的用法。
外观类、工具类和示例类
外观类的方法可能都是静态方法,这种情况下,外观类在UML中被称作工具类。示例类就是演示如何使用类或子系统的例子。外观类所能提供的诸多使得之处,示例类也能提供。外观类可能属于类库,但实例类一定不属于类库。
在软件开发过程中,程序一般会越做越大,而这样系统中类及子系统之间的影响会使彼此间的关系变得错综复杂即过多的耦合,这就导致了随着系统中类或子系统发生变化,与之相关联的子系统或类就需要发生变化。
举例
电源总开关
为了使用方便,一个电源总开关可以控制两盏灯、一台空调和一台电视机的启动和关闭。通过该电源总开关可以同时控制上述所有电器设备,使用外观模式设计该系统。
外观模式的目的在于降低系统的复杂程度。
package structure.facade; public class User { public static void main(String args[]) { Computer computer = new Computer(); computer.startup(); //调用 computer.shutdown(); } }