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();