美文网首页
设计模式——外观模式

设计模式——外观模式

作者: 笑对浮华 | 来源:发表于2023-09-26 15:19 被阅读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的封装特性。

    相关文章

      网友评论

          本文标题:设计模式——外观模式

          本文链接:https://www.haomeiwen.com/subject/bxdhbdtx.html