zoukankan      html  css  js  c++  java
  • 结构型设计模式之外观模式

    3.1问题的解决方法

    package test;
    
    public class Problem2 {
    
        public static void main(String[] args) {
            // 结构型模式之外观模式
            SwitchFacade switchFacade=new SwitchFacade();
            switchFacade.onDn();
            switchFacade.offDn();
            switchFacade.onJxq();
            switchFacade.offJxq();
            switchFacade.onKt();
            switchFacade.offKt();
            switchFacade.onTyy();
            switchFacade.offTyy();
        }
    
    }
    //电器接口  子系统
    interface dq{
        public void on();
        public void off();
    }
    //电脑实体类
    class Dn implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("电脑开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("电脑关闭");
        }    
    }
    //集线器实体类
    class Jxq implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("集线器开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("集线器关闭");
        }    
    }
    //空调实体类
    class Kt implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("空调开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("空调关闭");
        }    
    }
    //投影仪实体类
    class Tyy implements dq{
        @Override
        public void on() {
            // TODO Auto-generated method stub
            System.out.println("投影仪开");
        }
        @Override
        public void off() {
            // TODO Auto-generated method stub
            System.out.println("投影仪关闭");
        }    
    }
    //外观 总系统
    class  SwitchFacade{
        Dn dn=null;
        Jxq jxq=null;
        Kt kt=null;
        Tyy tyy=null;
        public SwitchFacade() {
            dn=new Dn();
            jxq=new Jxq();
            kt=new Kt();
            tyy=new Tyy();        
        }
        //先打开集线器,后打开电脑 
        public void onDn() {        
            jxq.on();
            dn.on();
        }
        //先关闭电脑,后关闭集线器
        public void offDn() {
            jxq.off();
            dn.off();
        }
        
        public void onJxq() {
            jxq.on();
        }
        public void offJxq() {
            jxq.off();
        }
        
        public void onKt() {
            kt.on();
        }
        public void offKt() {
            kt.off();
        }
        
        public void onTyy() {
            tyy.on();
        }
        public void offTyy() {
            tyy.off();
        }
    }
    View Code
  • 相关阅读:
    Docker(二)Image 与网络
    Docker(一)概念与基础
    Apache Hudi 介绍与应用
    Flink读写Kafka
    Flink 应用的一致性保障
    Flink系统配置
    Flink架构(五)- 检查点,保存点,与状态恢复
    Flink架构(四)- 状态管理
    HBase 中读 HDFS 调优
    Nginx模块之http.md
  • 原文地址:https://www.cnblogs.com/zhaoyanhaoBlog/p/10033389.html
Copyright © 2011-2022 走看看