设计模式--外观模式

2022-07-30  本文已影响0人  乌尔苏拉
1.定义:

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

2.示例代码:

Java代码

/*A模块的接口*/  
public interface AModuleApi{  
   public void testA();  
}  
/*A模块的实现*/  
public class AModuleImpl implements AModuleApi{  
   public void testA(){  
       System.out.println("现在A模块里操作testA方法");  
   }  
}  
/*B模块的接口*/  
public interface BModuleApi{  
   public void testB();  
}  
/*B模块的实现*/  
public class BModuleImpl implements BModuleApi{  
   public void testB(){  
       System.out.println("现在B模块里操作testB方法");  
   }  
}  
/*C模块的接口*/  
public interface CModuleApi{  
   public void testC();  
}  
/*C模块的实现*/  
public class CModuleImpl implements CModuleApi{  
   public void testC(){  
       System.out.println("现在C模块里操作testC方法");  
   }  
}  

Java代码

/*定义外观对象*/  
public class Facade{  
    public void test(){  
       AModuleApi a = new AModuleImpl();  
       a.testA();  
       BModuleApi b = new BModuleImpl();  
       b.testB();  
       CModuleApi c = new CModuleImpl();  
       c.testC();  
    }  
}  

Java代码

/*客户端调用*/  
public class Client{  
    public static void main(String args[]){  
        new Facade().test();  
    }  
} 
3.实际应用:

外观模式的目的不是给子系统添加新的功能接口,而是为了让外部减少与子系统内部多个模块的交互,松散耦合,从而让外部能够更简单的使用子系统。外观应该是包装已有的功能,它主要负责组合已有功能来实现客户需求,而不是添加新的实现。

外观模式的本质:封装交互,简化调用

上一篇下一篇

猜你喜欢

热点阅读