• 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();
  • 相关阅读:
    互联网创业的葵花宝典
    null和undefined的区别
    mpc0.9编译方法
    gmp5.0.5编译
    为iphone及iphone simulator编译poco库
    binutils2.22编译心得
    为iphone及iphone simulator编译qt库
    sql server之触发器调用C#CLR存储过程实现两个表的数据同步
    poco之HttpRequest之get方法
    poco之HttpRequest之post方法
  • 原文地址:https://www.cnblogs.com/usaddew/p/10900795.html
Copyright © 2020-2023  润新知