转载

设计模式之外观模式

设计模式之外观模式

外观模式自我感觉很常见,用途也会很广泛

外观模式的用途

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

UML

代码实现

首先定义四个子系统类

 package facade;  public class SubSystemOne {     public void methodOne() {         System.out.println("子系统方法一");     } } 
 package facade;  public class SubSystemTwo {     public void methodTwo() {         System.out.println("子系统方法二");     } } 
 package facade;  public class SubSystemThree {     public void methodThree() {         System.out.println("子系统方法三");     } } 
 package facade;  public class SubSystemFour {     public void methodFour() {         System.out.println("子系统方法四");     } } 

接着重点来了,定义外观类

 package facade;  public class Facade {     SubSystemOne subSystemOne;     SubSystemTwo subSystemTwo;     SubSystemThree subSystemThree;     SubSystemFour subSystemFour;     public Facade() {         // TODO Auto-generated constructor stub         subSystemOne=new SubSystemOne();         subSystemTwo =new SubSystemTwo();         subSystemThree =new SubSystemThree();         subSystemFour =new SubSystemFour();     }     public void MethodA() {         System.out.println("method A ");         subSystemOne.methodOne();         subSystemTwo.methodTwo();     }     public void MethodB() {         System.out.println("method B ");         subSystemThree.methodThree();         subSystemFour.methodFour();     } } 

最后建立实现类

 package facade;  public class Test {      public static void main(String[] args) {         // TODO Auto-generated method stub         Facade facade =new Facade();         facade.MethodA();         facade.MethodB();     }  } 

书中此图我觉得非常好地解释了外观模式的用途以及用法

外观模式对代码重构具有很大的作用。它可以为一个复杂子系统提供一个简单接口,大大降低了耦合度。

初学《大话设计模式》

正文到此结束
Loading...