外觀模式(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();
運行結果: