Java设计模式(十一):外观模式(门面模式)Facade

来源:互联网 发布:怎么阻止软件自动更新 编辑:程序博客网 时间:2024/04/29 13:24

1.概念

为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。


2.UML



3.代码

下面是一个具体案例的代码:

package com.iter.devbox.facade;/** * 子系统角色中的类 * @author Shearer * */public class ModuleA {public void testA() {System.out.println("调用ModuleA中的testA方法");}}package com.iter.devbox.facade;/** * 子系统角色中的类 * @author Shearer * */public class ModuleB {public void testB() {System.out.println("调用ModuleB中的testB方法");}}package com.iter.devbox.facade;/** * 子系统角色中的类 * @author Shearer * */public class ModuleC {public void testC() {System.out.println("调用ModuleC中的testC方法");}}package com.iter.devbox.facade;/** * 门面角色类 * @author Shearer * */public class Facade {      //示意方法,满足客户端需要的功能      public void test(){          ModuleA a = new ModuleA();          a.testA();          ModuleB b = new ModuleB();          b.testB();          ModuleC c = new ModuleC();          c.testC();      }  }  package com.iter.devbox.facade;/** * 客户端角色类 * @author Shearer * */public class Client {public static void main(String[] args) {Facade facade = new Facade();facade.test();}}


4.应用场景

1)为一个复杂子系统提供一个简单接口。

2)提高子系统的独立性。

3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。


0 0
原创粉丝点击