2024.11.11
设计模式实验十二
软件设计 石家庄铁道大学信息学院
实验12:外观模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解外观模式的动机,掌握该模式的结构;
2、能够利用外观模式解决实际问题。
[实验任务一]:计算机开启
在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。
实验要求:
1. 提交类图;
2. 提交源代码;
// Memory.java
public class Memory {
public boolean check() {
System.out.println("Memory check complete.");
return true;
}
}
// CPU.java
public class CPU {
public boolean run() {
System.out.println("CPU is running.");
return true;
}
}
// HardDisk.java
public class HardDisk {
public boolean read() {
System.out.println("Hard disk read operation successful.");
return true;
}
}
// OS.java
public class OS {
public boolean load() {
System.out.println("Operating system loaded successfully.");
return true;
}
}
// Mainframe.java
public class Mainframe {
private Memory memory;
private CPU cpu;
private HardDisk hardDisk;
private OS os;
public Mainframe() {
this.memory = new Memory();
this.cpu = new CPU();
this.hardDisk = new HardDisk();
this.os = new OS();
}
public void on() {
System.out.println("Starting mainframe...");
if (!memory.check()) {
System.out.println("Memory check failed. Startup aborted.");
return;
}
if (!cpu.run()) {
System.out.println("CPU failed to run. Startup aborted.");
return;
}
if (!hardDisk.read()) {
System.out.println("Hard disk read failed. Startup aborted.");
return;
}
if (!os.load()) {
System.out.println("Operating system load failed. Startup aborted.");
return;
}
System.out.println("Mainframe started successfully.");
}
}
// TestMainframe.java
public class TestMainframe {
public static void main(String[] args) {
Mainframe mainframe = new Mainframe();
mainframe.on();
}
}
3.注意编程规范。