外观模式例题

在计算机主机(MainFrame)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run()),硬盘(HardDisk)的读取(read())、操作系统的载入(load())等,如果任何一个设备发生错误则计算机启动失败。请使用外观设计模式模拟计算机启动工程,编码实现并绘制类图。
1、CPU类

java 复制代码
public class CPU {
   public void run() {
       System.out.println("CPU的运行(run)");
   }
}

2、 硬盘类

java 复制代码
public class HardDisk {
   public void read() {
       System.out.println("硬盘(HardDisk)的读取(read)");
   }
}

3、内存类

java 复制代码
public class Memory {
   public void check() {
       System.out.println("内存(Memory)的自检(check)");
   }
}

4、 操作系统类

java 复制代码
public class OperatingSystem {
   public void load() {
       System.out.println("操作系统的载入(load)");
   }
}

5、计算机主机 外观类

java 复制代码
public class MainFrame {
   private Memory memory;
   private CPU cpu;
   private HardDisk hardDisk;
   private OperatingSystem operatingSystem;
   public MainFrame() {
       this.memory = new Memory();
       this.cpu = new CPU();
       this.hardDisk = new HardDisk();
       this.operatingSystem = new OperatingSystem();
   }
   public void on() {
       memory.check();
       cpu.run();
       hardDisk.read();
       operatingSystem.load();
   }
}

6、 客户端类

java 复制代码
public class Client {
   public static void main(String[] args) {
       MainFrame mainFrame = new MainFrame();
       mainFrame.on();
   }
}

运行结果:

UML图

相关推荐
怒放吧德德2 小时前
后端 Mock 实战:Spring Boot 3 实现入站 & 出站接口模拟
java·后端·设计
biyezuopinvip2 小时前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
脸大是真的好~2 小时前
EasyExcel的使用
java·excel
小宋10212 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
JavaGuide2 小时前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人2 小时前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
figo10tf3 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva3 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露3 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot