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

外观模式

时间:2022-11-05 22:11:53浏览次数:48  
标签:外观 off void System 模式 println public out

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

 

类图

 

 

java

   
package rjsj.no12;

/**
 * CPU类:子系统类
 *
 */
public class CPU {
    public void run(){
        System.out.println("处理器运行");
    }
    public void off(){
        System.out.println("处理器关闭");
    }
}
     
package rjsj.no12;

/**
 * Disk(硬盘)类:子系统类
 *
 */
public class Disk {
    public void read(){
        System.out.println("硬盘读取");
    }
    public void off(){
        System.out.println("硬盘关闭");
    }
}
     
package rjsj.no12;

/**
 * Memory类:子系统类
 *
 */
public class Memory {
    public void check(){
        System.out.println("内存自检");
    }
    public void off(){
        System.out.println("内存关闭");
    }
}
     
package rjsj.no12;

/**
 * 操作系统OS类:子系统类
 *
 */
public class OS {
    public void load(){
        System.out.println("操作系统载入");
    }
    public void off(){
        System.out.println("操作系统关闭");
    }
}
     
package rjsj.no12;

/**
 * 主窗口类:外观类
 *
 */
public class Mainframe {
    private Memory memory;
    private CPU cpu;
    private Disk disk;
    private OS os;

    public Mainframe(){
        memory = new Memory();
        cpu = new CPU();
        disk = new Disk();
        os = new OS();
    }

    public void on(){
        memory.check();
        cpu.run();
        disk.read();
        os.load();
    }

    public void off(){
        memory.off();
        cpu.off();
        disk.off();
        os.off();
    }
}
     
package rjsj.no12;

public class Client {
    public static void main(String[] args) {
        Mainframe mainframe = new Mainframe();
        System.out.println("电脑启动中...");
        mainframe.on();
        System.out.println("启动完成。");
        System.out.println("电脑关闭中...");
        mainframe.off();
        System.out.println("关闭完成。");
    }
}
 

 

C++

   
#include <iostream>

using namespace std;

class Memory{
public:
    void check(){
        cout<<"内存自检"<<endl;
    }
    void off(){
        cout<<"内存关闭"<<endl;
    }
};

class Cpu{
public:
    void run(){
        cout<<"CPU运行"<<endl;
    }
    void off(){
        cout<<"CPU关闭"<<endl;
    }
};

class HardDisk{
public:
    void read(){
        cout<<"硬盘读取"<<endl;
    }
    void off(){
        cout<<"硬盘关闭"<<endl;
    }
};

class Os{
public:
    void load(){
        cout<<"操作系统加载"<<endl;
    }
    void off(){
        cout<<"操作系统关闭"<<endl;
    }
};

class MainFrame{
private:
    Memory w1;
    Cpu w2;
    HardDisk w3;
    Os w4;
public:
    void on(){
        cout<<"开机中......"<<endl;
        w1.check();
        w2.run();
        w3.read();
        w4.load();
    }
    void off(){
        cout<<"关机中......"<<endl;
        w1.off();
        w2.off();
        w3.off();
        w4.off();
    }
};


int main(){
    MainFrame w;
    w.on();
    w.off();
    return 0;
}
 

 

运行截图

标签:外观,off,void,System,模式,println,public,out
From: https://www.cnblogs.com/libin159/p/16861477.html

相关文章

  • 组合模式
    组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。 类图  java  packagerjsj.no10;publicclassClient{publicstaticvoidmain(St......
  • 18.迭代器模式
    [实验任务一]:JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,......
  • 16.命令模式
    [实验任务一]:多次撤销和重复的命令模式某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可......
  • 15.职责链模式
    [实验任务一]:财务审批某物资管理系统中物资采购需要分级审批,主任可以审批1万元及以下的采购单,部门经理可以审批5万元及以下的采购单,副总经理可以审批10万元及以下的采购单......
  • 简单工厂模式带实战(不属于GOF的23种经典设计模式)
    简单工厂模式带实战(不属于GOF的23种经典设计模式)1、描述简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactoryMethod)模式,但不属于23种GOF设计模式之一。简单......
  • UML建模语言、设计原则、设计模式
    1、UML统一建模语言定义:用于软件系统设计与分析的语言工具目的:帮助开发人员更好的梳理逻辑、思路学习地址:UML概述_w3cschool官网:https://www.omg.org/spec/UML1.1......
  • history模式下页面刷新404问题
      最近在完成实验室oj项目部署时,发现了一个有趣的现象:可以正常进入项目,导航栏上各个组件间也可以正常跳转,但点击页面刷新按钮后,就离奇的出现了404。1、问题分析  ......
  • 23种设计模式-原型设计模式介绍加实战
    1、描述用原型实例指定创建对象的种类,并且通过拷贝这些原型对象的属性来创建新的对象。通俗点的意思就是一个对象无需知道任何创建细节就可以创建出另外一个可定制的对象......
  • 【Dokcer】docker的网络模式
    Docker的四种网络模式:bridge(默认网络)hostnonecontainer自定义网络一、bridge模式bridge网络模式是docker的默认网络模式当docker进程启动的时候,会在主机上自动创建一个名为d......
  • Unity中的常见单例模式
    在Unity中我们用到的最多的设计模式之一就是单例模式单例模式顾名思义就是只允许单个此实例物体存在因此单例类通常挂载在各种Manager物体上下面介绍几种常用单例模式的......