外观模式
定义:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
类图

示例
//子系统类 public class Light { void lightOff(){ System.out.println("关闭电灯"); } } //子系统类 public class Television { void televisionOn(){ System.out.println("打开电视"); } } //外观类 public class HomeFacade { private Light light; private Television television; public HomeFacade() { light=new Light(); television=new Television(); } void lightOff(){ light.lightOff(); } void television(){ television.televisionOn(); } void watchMovie(){ light.lightOff(); television.televisionOn(); } } //客户端 public class Client { public static void main(String[] args){ //非外观模式调用,需要客户了解子系统所有的类 Light light = new Light(); Television television = new Television(); light.lightOff(); television.televisionOn(); //外观模式调用,客户只需要了解外观类 HomeFacade homeFacade = new HomeFacade(); homeFacade.lightOff(); homeFacade.television(); homeFacade.watchMovie();//外观模式可以对低层的行为进行组合或者添加额外的行为 } }
运行结果

缺点:对外观类的扩展不符合开放闭合原则
语言是思想的载体

浙公网安备 33010602011771号