首页 > 其他分享 >外观模式

外观模式

时间:2023-11-23 16:25:54浏览次数:23  
标签:外观 off void System 模式 println public out

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

1. 提交类图;

2. 提交源代码;

Client.java
        package Facade;

public class Client {
    public static void main(String args[]) {
        MainFrame mf=new MainFrame();
        System.out.println("电脑启动成功。。。");
        mf.on();
        System.out.println("电脑启动失败。。。");
        mf.off();
    }

}
CPU.java
        package Facade;

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

}
 
HardDisk.java
        package Facade;

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


}
MainFrame.java
        package Facade;

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() {
        memory.check();
        cpu.run();
        os.load();
        disk.read();
    }
    public void off() {
        memory.off();
        cpu.off();
        os.off();
        disk.off();
    }

}
Memory.java
        package Facade;

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


}
OS.java
        package Facade;

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


}

标签:外观,off,void,System,模式,println,public,out
From: https://www.cnblogs.com/yzx-sir/p/17851828.html

相关文章

  • 备忘录模式
    多次撤销改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。实验要求:1. 提交源代码;Caretaker.javapackage ruanshe20; public class Caretaker{    private Memento[]array =null;    priv......
  • 界面组件Telerik UI for WinForms中文教程 - 创建明暗模式的桌面应用
    黑暗模式现在在很多应用程序中都挺常见的,但如何在桌面应用程序中实现它呢?这很简单,本文将为大家介绍如何使用一个类和命令行调用来实现!TelerikUIforWinForms拥有适用WindowsForms的110多个令人惊叹的UI控件。所有的UIforWinForms控件都具有完整的主题支持,可以轻松地帮助开发......
  • 设计模式--单例模式
    为了保证关键类只有一个对象,不允许用户自己构建此类对象。用户可以直接访问。意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。如何解决:判断系统是否已经有这个单例,如果有则返......
  • Flask-debug模式
    不开debug模式的问题修改源代码需要重启程序才会生效程序出错没有错误的详细信息,不利于排查分析开启debug模式 终端执行:pythonapp.py  ......
  • socket 的阻塞模式和非阻塞模式
    1.socket的阻塞模式和非阻塞模式在阻塞和非阻塞模式下,常讨论的具有不同行为表现的socket函数一般有connect、accept、send和recv。在Linux上对socket进行操作时也包括write函数和read函数。在Linux上,可以使用fcntl函数或ioctl函数给创建的socket增加ON......
  • 设计模式
    美团弟弟快看工厂模式(https://www.ddkk.com/zhuanlan/design/java/5.html)策略模式(https://www.ddkk.com/zhuanlan/design/java/27.html)......
  • 学习随笔(设计模式:状态模式)
    内容今天学习了设计模式中的状态模式。1.状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。收获1.如果软件中需要用很多枚举表示不同的状态,那么就可以采用状态模式,可以让代码变得更简单,新增状态时扩展性也会更好。2.先抽象出所有状态的基类......
  • 设计模式(十四)命令
    一、定义将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事物(Transaction)模式。二、描述命令模式的本质是对请求进行封装,一个请求对应一个命令,将发出命......
  • 中介者模式--Java实现
    具体代码//AbstractChatroom.javapackageorg.example.test017;importjavax.swing.plaf.basic.BasicTreeUI;publicabstractclassAbstractChatroom{publicabstractvoidregister(Membermember);publicabstractvoidsendText(Stringfrom,Stringto,Str......
  • 备忘录模式--Java实现
    具体代码//Memento.javapackageorg.example.test018;publicclassMemento{publicStringgetAccount(){returnaccount;}publicvoidsetAccount(Stringaccount){this.account=account;}publicStringgetPassword(){......