外观模式:提供了一个统一的接口,用来访问子系统的一群接口。外观定义了一个高层接口,让子系统更容易使用。
下面通过一个图来说明外观模式的使用,此图来自于《Head First设计模式》一书。
从上图中可以看到,通过一个统一的Facade来调用复杂的子系统的类。
按我的理解,外观模式实际上就是抽取一些公共的业务逻辑封装起来,以统一的方法来调用。使代码结构更加清晰,易于维护,避免流水代码。
举一个简单的例子,下班回家三件事:开门、开灯、开电视。上班出门要干三件事:关电视、关灯、关门。
流水线似的写法
1 | public class Door { |
1 | public class Light { |
1 | public class TV { |
1 | public class TestOld { |
使用外观模式进行封装
1 | //外观模式的实现 |
1 | public class TestNew { |
上一篇:设计模式系列之七适配器模式
下一篇:设计模式系列之九模板方法模式