首页 > 其他分享 >每日随笔——外观模式

每日随笔——外观模式

时间:2023-11-20 09:48:05浏览次数:30  
标签:外观 return 每日 System operIf println 随笔 public out

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

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

实验要求:

1.提交类图;

2.提交源代码;

3.注意编程规范。

 源码:

Client
package SC12;

public class Client {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Mainframe mainframe = new Mainframe();
        mainframe.on();

    }

}
Mainframe
package SC12;

public class Mainframe {

    private Memory memory;
    private CPU cpu;
    private HardDisk hardDisk;
    private OS os;
    private boolean operIf = true;

    public void setOperIf(boolean operIf) {
        this.operIf = operIf;
    }

    public Mainframe() {
        super();
        this.memory = memory.getInstance();
        this.cpu = cpu.getInstance();
        this.hardDisk = hardDisk.getInstance();
        this.os = os.getInstance();
    }

    public void on() {
        System.out.println("按下主机按钮");
        operIf=memory.check(operIf);
        operIf=cpu.run(operIf);
        operIf=hardDisk.read(operIf);
        operIf=os.load(operIf);
    }



}
Memory
package SC12;

public class Memory {

    private static Memory instance = new Memory();

    public static Memory getInstance() {
        return instance;

    }

    public boolean check(boolean operIf) {
        System.out.println("内存开始自检");
        if (operIf) {
            operIf = new java.util.Random().nextBoolean() ? true : false;
        }
        if (operIf) {
            System.out.println("内存自检完成");
            return true;
        } else {
            System.out.println("内存自检失败");
            return false;
        }

    }
}
CPU
package SC12;

public class CPU {

    private static CPU instance = new CPU();

    public static CPU getInstance() {
        return instance;

    }

    public boolean  run(boolean operIf) {
        System.out.println("cpu开始运行");
        if (operIf) {
            operIf =new java.util.Random().nextBoolean() ? true : false;
        }
        if (operIf) {
            System.out.println("cpu运行成功");
            return true;
        } else {
            System.out.println("cpu运行失败");
            return false;
        }
    }
}

HardDisk
package SC12;

public class HardDisk {

    private static HardDisk instance = new HardDisk();

    public static HardDisk getInstance() {
        return instance;

    }

    public boolean  read(boolean operIf) {
        System.out.println("硬盘开始读取");
        if (operIf) {
            operIf =new java.util.Random().nextBoolean() ? true : false;
        }
        if (operIf) {
            System.out.println("硬盘运行成功");
            return true;
        } else {
            System.out.println("硬盘运行失败");
            return false;
        }
    }
}

OS
package SC12;

public class OS {

    private static OS instance = new OS();

    public static OS getInstance() {
        return instance;

    }

    public boolean  load(boolean operIf) {
        System.out.println("操作系统开始载入");
        if (operIf) {
            operIf =new java.util.Random().nextBoolean() ? true : false;
        }
        if (operIf) {
            System.out.println("操作系统载入成功");
            return true;
        } else {
            System.out.println("操作系统载入失败");
            return false;
        }
    }
}

 

 

标签:外观,return,每日,System,operIf,println,随笔,public,out
From: https://www.cnblogs.com/jiacheng-712/p/17843222.html

相关文章

  • 11.20每日总结
    今天早上进行了软件设计模式的实验16实验16:命令模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解命令模式的动机,掌握该模式的结构;2、能够利用命令模式解决实际问题。 [实验任务一]:多次撤销和重复的命令模式某系统需要提供一个命令集合(注:可以使用链表,栈......
  • 11月20每日打卡
    [实验任务一]:JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。实验要求:1. 搜集并掌握JAVA和C++中常见的数据结构......
  • 每日总结-23.11.18
    publicclassStudent{privateStringid;privateStringname;privateStringage;publicStringgetAge(){returnage;}publicvoidsetAge(Stringage){this.age=age;}publicStudent(){}publicStude......
  • 每日总结-23.11.19
    importjava.util.Stack;publicabstractclassAbstractCommand{publicabstractintexecute(intvalue);publicabstractintundo();publicabstractintredo();}publicclassAddCommandextendsAbstractCommand{privateAdderadder=newA......
  • 每日总结-23.11.20
    publicclassMemory{privatestaticMemoryinstance=newMemory();publicstaticMemorygetInstance(){returninstance;}publicbooleancheck(booleanoperIf){System.out.println("内存开始自检");if(ope......
  • 摘抄/随笔
    生活很难,对不对?所以坚强,并不是说要你永不流一滴眼泪,而是在哭泣之后还能微笑面对。而这个世界,也并不是永远阳光明媚,而是无论经历多漫长的黑暗,太阳都会照常升起。加油。不要因为身边的人都堕落,你就耻于谈梦想。因为你是你,不是任何人,不惧任何事。......
  • 11.18每日总结
    this.$set(全局Vue.set方法)this.$set(target,key,value)1target:要更改的数据源(可以是一个对象或者数组)key:要更改的具体数据(索引)value:重新赋的值注:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视......
  • 每日总结
    今天写了一点erp的页面和后端。publicclassPayController{@AutowiredprivatePayServicepayService;@GetMappingpublicResultpage(@RequestParam(defaultValue="1")Integerpage,@RequestParam(defaultValue="10")IntegerpageSiz......
  • 2023.11.19——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • 软件设计模式学习每日总结-第七天
    第七天学习结构型模式:描述如何将对象或类组合成更大的结构。类结构型模式:类的组合对象结构模式:类与对象的组合适配器模式:使接口不兼容的类可以一起工作。  ......