读书人

design pattern外观方式

发布时间: 2012-11-11 10:07:57 作者: rapoo

design pattern——外观模式

针对问题:在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。?那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?

?

? ? ?为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。——Gang of Four

?

?

?

?

外观模式结构图:

?


design pattern——外观方式

?

?

?

?

?

?

外观模式实现代码:

?

/** * 实例A * @author bruce * */public class A {public void methodA(){System.out.println("A doing something");}}/** * 实例B * @author bruce * */public class B {public void methodB(){System.out.println("B doing something");}}/** * 实例C * @author bruce * */public class C {public void methodC(){System.out.println("C doing something");}}/** * 外观实例 * @author bruce * */public class Facade {private A a;private B b;private C c;public Facade(A a,B b,C c){this.a=a;this.b=b;this.c=c;}/** * 外观接口 */public void action(){a.methodA();b.methodB();c.methodC();                //.......}}/** * 测试 * @author bruce * */public class Client {public static void main(String[] args) {A a=new A();B b=new B();C c=new C();Facade facade=new Facade(a,b,c);facade.action();/** * output:   A doing something   B doing something   C doing something */}}
?

?

?

读书人网 >软件架构设计

热点推荐