外观模式
实验12:外观模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解外观模式的动机,掌握该模式的结构;
2、能够利用外观模式解决实际问题。
[实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。
类图
源代码
public class ComputerFacade {
private final Memory memory;
private final CPU cpu;
private final HardDisk hardDisk;
private final OS os;
// 构造函数,初始化所有部件
public ComputerFacade() {
this.memory = new Memory();
this.cpu = new CPU();
this.hardDisk = new HardDisk();
this.os = new OS();
}
// 启动方法,调用各个部件的方法
public void on() {
try {
memory.check(); // 内存自检
cpu.run(); // CPU运行
hardDisk.read(); // 硬盘读取
os.load(); // 加载操作系统
System.out.println("Computer started successfully.");
} catch (Exception e) {
System.out.println("Error during computer startup: " + e.getMessage());
}
}
}
public class Memory {
public void check()
{
System.out.println("Memory checking.....");
}
}
public class CPU {
public void run()
{
System.out.println("CPU running.....");
}
}
public class HardDisk {
public void read() {
System.out.println("Hard disk reading...");
}
}
public class OS {
public void load() {
System.out.println("Operating system loading...");
}
}
public class Main {
public static void main(String[] args) {
ComputerFacade computer = new ComputerFacade();
computer.on(); // 调用外观类的on()方法来启动计算机
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端