首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

design pattern——外观方式

2012-11-11 
design pattern——外观模式针对问题:在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,

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 */}}
?

?

?

热点排行