外观模式例题

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

1、CPU类

public class CPU {
   public void run() {
       System.out.println("CPU的运行(run)");
   }
}

2、 硬盘类

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

3、内存类

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

4、 操作系统类

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

5、计算机主机 外观类

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、 客户端类

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

运行结果:

UML图

相关推荐

  1. 【设计模式外观模式

    2024-07-21 03:06:03       49 阅读
  2. 设计模式——外观模式

    2024-07-21 03:06:03       44 阅读
  3. 设计模式-外观模式

    2024-07-21 03:06:03       49 阅读
  4. 【设计模式外观模式

    2024-07-21 03:06:03       39 阅读
  5. 设计模式: 外观模式

    2024-07-21 03:06:03       36 阅读
  6. 设计模式外观模式

    2024-07-21 03:06:03       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 03:06:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 03:06:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 03:06:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 03:06:03       55 阅读

热门阅读

  1. 栈的概念—函数调用

    2024-07-21 03:06:03       15 阅读
  2. 机器学习中的梯度下降

    2024-07-21 03:06:03       17 阅读
  3. Rollup介绍

    2024-07-21 03:06:03       16 阅读
  4. Windows图形界面(GUI)-DLG-C/C++ - 状态栏(StatusBar)

    2024-07-21 03:06:03       21 阅读
  5. 三角函数cos

    2024-07-21 03:06:03       13 阅读
  6. 【东耐设计】如何在C4D创作中激发无限创意?

    2024-07-21 03:06:03       15 阅读
  7. NLP基础技术

    2024-07-21 03:06:03       17 阅读
  8. MySQL 覆盖索引

    2024-07-21 03:06:03       18 阅读