设计模式--外观模式

实验12:外观模式

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

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

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

实验任务:计算机开启

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

类图

源代码

java 复制代码
public class CPU
{
    public void run()
    {
        System.out.println("CPU运行中");
    }
}

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

public class Mainframe
{
    private Memory memory;
    private CPU cpu;
    private HardDisk hardDisk;
    private OS os;

    public Mainframe()
    {
        memory = new Memory();
        cpu = new CPU();
        hardDisk = new HardDisk();
        os = new OS();
    }

    public void on()
    {
        try
        {
            memory.check();
            cpu.run();
            hardDisk.read();
            os.load();
        }
        catch (Exception e)
        {
            System.out.println("计算机启动失败");
        }
        System.out.println("计算计启动成功");
    }
}

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

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

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

运行效果

相关推荐
AI人工智能+电脑小能手38 分钟前
大白话说Java设计模式-08-建造者模式(业务实战篇)
java·设计模式·建造者模式·架构设计·对象构建
AustinXu3 小时前
从 Claude Code 到 Claude Tag,Harness Engineering 走到了组织这一层
设计模式·团队管理
剧中有戏4 小时前
单例模式从入门到精通:一个数据库连接池的完整剖析
设计模式
胡萝卜术4 小时前
编译期与运行期的双重防线:从 TypeScript 类型之争到 LLM 输出的自动化择优
前端·设计模式·面试
货拉拉技术4 小时前
重塑 Agent 度量衡:基于 LLM-as-a-Judge 的离线评估体系与实践
算法·设计模式
KhalilRuan4 小时前
设计模式小记
设计模式
卡牌RWA研究院5 小时前
Relique:一张精品卡牌如何从收藏品变成可交易的链上资产?
设计模式·金融·区块链·创业创新
剧中有戏1 天前
抽象工厂模式从入门到精通:一个多云存储案例的完整剖析(修订版)
设计模式
MC皮蛋侠客1 天前
Redis 系列(八):缓存设计模式与一致性——从 Cache Aside 到防雪崩
redis·缓存·设计模式
莫得感情 o1 天前
设计模式 18 · 状态模式
设计模式·状态模式