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();
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号