设计模式——外观模式

2023-09-26  本文已影响0人  笑对浮华

一、介绍

外观模式提供一个统一接口去访问子系统的一组接口,简化外部客户端对子系统的调用,降低客户端和子系统的耦合度,客户端不需要关注子系统复杂的依赖关系和实现逻辑,只需要和外观接口交互即可。

二、代码实例

子系统1

public class WindowManager {


    public void createWindow(){
        System.out.println("创建一个window");
    }

    public void destroyWindow(){
        System.out.println("销毁一个window");
    }

}

子系统2

public class Canvas {

    public void draw(){
        System.out.println("绘制一个图形");
    }

    public void clear(){
        System.out.println("清除空间");
    }

}

子系统3

public class EventManager {

    public void event(){
        System.out.println("一个点击事件");
    }

    public void remove(){
        System.out.println("删除一个事件");
    }
}

外观类

public class PhoneFacade {

    private final WindowManager mWindowManager;
    private final Canvas mCanvas;
    private final EventManager mEventManager;

    public PhoneFacade(WindowManager windowManager, Canvas canvas, EventManager eventManager) {
        this.mWindowManager = windowManager;
        this.mCanvas = canvas;
        this.mEventManager = eventManager;
    }


    public void init(){
        mWindowManager.createWindow();
        mCanvas.draw();
        mEventManager.event();
    }

    public void clear(){
        mEventManager.remove();
        mCanvas.clear();
        mWindowManager.destroyWindow();
    }
}

四、总结

外观模式给我的感觉还是挺好理解的,提供一个统一的接口去调用各个子系统,客户端和外观类交互,不用去关心各个子系统的实现细节,感觉就是Java的封装特性。

上一篇 下一篇

猜你喜欢

热点阅读