欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Matlab外观模式

程序员文章站 2022-05-16 10:50:20
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。本文以计算机为例,用Matlab代码实现外观模式。计算机包括CPU、内存以及硬盘等这些部件。用户在操作计算机时,不需要了解计算机部件的使用方法,只需要操作计算机的按钮,计算机部件交给计算机内部去做 ......

外观模式(facade pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。本文以计算机为例,用matlab代码实现外观模式。计算机包括cpu、内存以及硬盘等这些部件。用户在操作计算机时,不需要了解计算机部件的使用方法,只需要操作计算机的按钮,计算机部件交给计算机内部去做即可。这样降低了用户操作的复杂性。

cpu.m

classdef cpu
    methods
        function startup(~)
            disp("cpu is on");
        end
        function shutdown(~)
            disp("cpu is off");
        end
    end
end

memory.m

classdef memory
    methods
        function startup(~)
            disp("memory is on");
        end
        function shutdown(~)
            disp("memory is off");
        end
    end    
end

disk.m

classdef disk
    methods
        function startup(~)
            disp("disk is on");
        end
        function shutdown(~)
            disp("disk is off");
        end
    end
end

computer.m

classdef computer
    properties
        cpu
        mem
        disk
    end
    methods
        function obj = computer()
            obj.cpu = cpu();
            obj.mem = memory();
            obj.disk = disk();
        end
        function startup(obj)
            obj.cpu.startup();
            obj.mem.startup();
            obj.disk.startup();
            disp("computer is on");
        end
        function shutdown(obj)
            obj.disk.shutdown();         
            obj.mem.shutdown();
            obj.cpu.shutdown();
            disp("computer is off");
        end
    end
end

测试代码

computer = computer();
computer.startup();
computer.shutdown();