设计模式-外观模式

  1. 定义
    提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。目的在简化接口。

  2. 代码实例

    /**
     * 每次回家,需要开灯,开电脑等等。创建回家外观,通过一个方法统一执行
     */
    class HomeFacade {
        private Light light;
        private Computer computer;
    
        public HomeFacade(Light light, Computer computer) {
            this.light = light;
            this.computer = computer;
        }
        // 简化回家操作
        public void goHome() {
            light.turnOn();
            computer.turnOn();
        }
        // 简化离家操作
        public void goOut() {
            computer.turnOff();
            light.turnOff();
        }
    
        public static void main(String[] args) {
            HomeFacade homeFacade = new HomeFacade(new Light(), new Computer());
            homeFacade.goHome();
            homeFacade.goOut();
        }
    
    }
    
    class Light {
        public void turnOn() {
            System.out.println("开灯");
        }
        public void turnOff() {
            System.out.println("关灯");
        }
    }
    
    class Computer {
        public void turnOn() {
            System.out.println("开电脑");
        }
        public void turnOff() {
            System.out.println("关电脑");
        }
    }
    
posted @ 2019-08-14 15:00  bosslv  阅读(101)  评论(0编辑  收藏  举报