外观模式例题

在计算机主机(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图

相关推荐
Edingbrugh.南空42 分钟前
Flink ClickHouse 连接器数据读取源码深度解析
java·clickhouse·flink
NE_STOP1 小时前
SpringBoot--简单入门
java·spring
hqxstudying1 小时前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
Dcs2 小时前
VSCode等多款主流 IDE 爆出安全漏洞!插件“伪装认证”可执行恶意命令!
java
保持学习ing2 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
京东云开发者2 小时前
Java的SPI机制详解
java
超级小忍2 小时前
服务端向客户端主动推送数据的几种方法(Spring Boot 环境)
java·spring boot·后端
程序无bug2 小时前
Spring IoC注解式开发无敌详细(细节丰富)
java·后端
小莫分享2 小时前
Java Lombok 入门
java
程序无bug2 小时前
Spring 对于事务上的应用的详细说明
java·后端