浅谈设计模式——外观模式

来源:互联网 发布:c语言指针相减 编辑:程序博客网 时间:2024/05/16 06:28
 

我们在日常中写的一些程序接口,通常散落在不同的程序代码里。在使用的时候寻找起来比较麻烦,而且改动起来也不是很方便,这是我们就需要一个统一的类来封装这些接口,以便提供给外部操作。这就是我们今天要讲的“外观模式”。

定义:外观模式就是为了子系统对外提供的一组接口提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。

组成:外观模式由3部分组成:抽象外观类、实现抽象外观类的具体外观类和其他子系统。

实现代码如下:

//抽象外观类public interface Facade {void operation1();void operation2();}


 

//具体外观类public class CreateFacade implements Facade{public void operation1(){SubSystem1 sub = new SubSystem1();//要编写的代码}public void operation2(){SubSystem2 sub = new SubSystem2();//要编写的代码}}


 

//子系统public class OtherSystem {public static void main(String[] args) {Facade facade = new CreateFacade();facade.operation1();facade.operation2();}private Facade lnkFacade;}


使用时机:当一个复杂的系统需要对外提供接口的时,就需要将对外提供的接口统一封装在一个外观类里,供外系统使用。

优点:外观模式通过提供一个统一的对外接口,避免了外部系统和子系统之间的直接联系,从而降低了系统间的依赖和复杂度。

缺点:限制了外部系统对子系统调用的灵活性,只能按照外观类中提供的方式对子系统进行调用。

原创粉丝点击