qwb0614

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  187 随笔 :: 0 文章 :: 0 评论 :: 2048 阅读

实验12:外观模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解外观模式的动机,掌握该模式的结构;

2、能够利用外观模式解决实际问题。

 
   

 


[实验任务一]:计算机开启

在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算机启动失败。

实验要求:

1.提交类图;

 

2.提交源代码;

3.注意编程规范。

复制代码
package ruanjiansheji.shiyan12;

public class CPU {
    public void run() {
        System.out.println("CPU正在运行");
    }
    public void off() {
        System.out.println("CPU发生错误");
    }

}
package ruanjiansheji.shiyan12;

public class HardDisk {
    public void read() {
        System.out.println("硬盘正在读取");
    }
    public void off() {
        System.out.println("硬盘发生错误");
    }

}
package ruanjiansheji.shiyan12;

public class Main {
    public static void main(String[] args) {
        MainFrame m=new MainFrame();
        m.on();
        m.off();
    }
}
package ruanjiansheji.shiyan12;


public class MainFrame {
    //维持对子系统对象的引用
    private Memory memory;
    private CPU cpu;
    private OS os;
    private HardDisk disk;

    public MainFrame() {
        memory=new Memory();
        cpu=new CPU();
        os=new OS();
        disk=new HardDisk();
    }

    //调用子系统对象的业务方法
    public void on() {
        System.out.println("电脑启动中。。。。。。。");
        memory.check();
        cpu.run();
        os.load();
        disk.read();
    }
    public void off() {
        System.out.println("电脑启动失败。。。。。。。");
        memory.off();
        cpu.off();
        os.off();
        disk.off();
    }

}
package ruanjiansheji.shiyan12;

public class Memory {
    public void check() {
        System.out.println("内存正在自检");
    }
    public void off() {
        System.out.println("内存发生错误");
    }

}
package ruanjiansheji.shiyan12;

public class OS {
    public void load() {
        System.out.println("OS正在载入");
    }
    public void off() {
        System.out.println("OS发生错误");
    }

}
复制代码

 

posted on   嘎嘎鸭1  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示