外观设计模式

java 复制代码
package com.jmj.pattern.facade;

public class Light {
    public void  on(){
        System.out.println("打开电灯...");
    }

    public void off(){
        System.out.println("关闭电灯...");
    }
}
java 复制代码
package com.jmj.pattern.facade;

public class AirCondition {
    public void  on(){
        System.out.println("打开空调...");
    }

    public void off(){
        System.out.println("关闭空调...");
    }

}
java 复制代码
package com.jmj.pattern.facade;

public class TV {
    public void  on(){
        System.out.println("打开电视机...");
    }

    public void off(){
        System.out.println("关闭电视机...");
    }

}
java 复制代码
package com.jmj.pattern.facade;

public class SmartAppliancesFacade {

    private AirCondition airCondition;
    private  Light light;
    private TV tv;

    public SmartAppliancesFacade() {

        light=new Light();
        tv=new TV();
        airCondition=new AirCondition();
    }

    public void say(String message){
        if (message.equals("打开")){
            on();
        } else if (message.equals("关闭")) {
            off();
        }
        else {
            System.out.println("我听不懂你说的!!!");
        }
    }

    private void on() {
       light.on();
        airCondition.on();
        tv.on();
    }

    private void off() {
        light.off();
        airCondition.off();
        tv.off();
    }
}
java 复制代码
package com.jmj.pattern.facade;

public class Client{
    public static void main(String[] args) {
        SmartAppliancesFacade smartAppliancesFacade = new SmartAppliancesFacade();
        smartAppliancesFacade.say("关闭");
    }
}
相关推荐
我命由我1234515 小时前
Spring Cloud - Spring Cloud 负载均衡(Ribbon 负载均衡概述、Ribbon 使用)
java·后端·spring·spring cloud·ribbon·java-ee·负载均衡
酷柚易汛智推官15 小时前
基于MemU的自主代理记忆管理系统:技术解析与实践
java·安全·架构
研究司马懿15 小时前
【GitOps】Argo CD app of apps
大数据·开发语言·elasticsearch·搜索引擎·云原生·argocd·gitops
懒鸟一枚15 小时前
Java 常见加密算法用法详解
java·开发语言
嵌入式-老费15 小时前
Easyx图形库应用(lua中的函数回调)
开发语言·lua
oak隔壁找我15 小时前
SpringBoot 开发必备基础工具类实现(纯JWT认证,无SpringSecurity)
java·后端
张较瘦_15 小时前
Springboot | 初识Springboot 从“手动做饭”到“点外卖”的编程革命
java·spring boot·后端
oak隔壁找我15 小时前
SpringBoot 整合 Minio 和 FastDFS 实现分布式文件存储
java·后端
喜欢吃燃面16 小时前
算法中的链表结构
开发语言·c++·学习·算法
十五年专注C++开发16 小时前
Fruit框架:C++依赖注入解决方案
开发语言·c++·依赖注入·fruit框架