外观模式

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

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

实验要求:

1.提交类图;

2.提交源代码;

3.注意编程规范。

 

1. 类图:

 

 

2. 源代码:

子系统类

 

class Memory:

    def check(self):

        print("内存自检")

 

    def off(self):

        print("内存关闭")

 

 

class CPU:

    def run(self):

        print("CPU运行")

 

    def off(self):

        print("CPU关闭")

 

 

class Disk:

    def read(self):

        print("硬盘读取")

 

    def off(self):

        print("硬盘关闭")

 

 

class OS:

    def load(self):

        print("操作系统加载")

 

    def off(self):

        print("操作系统关闭")

外观类

 

class Mainframe:

    def __init__(self):

        self.memory = Memory()

        self.cpu = CPU()

        self.disk = Disk()

        self.os = OS()

 

    def on(self):

        print("开机中......")

        self.memory.check()

        self.cpu.run()

        self.disk.read()

        self.os.load()

 

    def off(self):

        print("关机中......")

        self.memory.off()

        self.cpu.off()

        self.disk.off()

        self.os.off()

客户端类

 

def main():

    mainframe = Mainframe()

    mainframe.on()

    print("启动完成。")

    mainframe.off()

    print("关闭完成。")

 

if __name__ == "__main__":

    main()

 

 

posted @   艾鑫4646  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2023-11-13 11.9
2023-11-13 11.13下午的分级测试
点击右上角即可分享
微信分享提示