Matlab外观模式

外观模式(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();

posted on 2019-05-21 16:50  sw-lab  阅读(380)  评论(0编辑  收藏  举报

导航