设计模式之外观模式

外观模式是封装思想的一种表现形式,它可以帮助我们隐藏系统的复杂性,只给用户提供一个可以访问的接口。 外观模式非常容易理解和实现,它属于结构型设计模式。

场景模拟

假设一台电脑,它包含了 CPU(处理器),Memory(内存) ,Disk(硬盘)这几个部件,若想要启动电脑,则先后必须启动 CPU、Memory、Disk,关闭时也需要按照相应顺序。利用门面模式可以将开关过程简化。


 class CPU {   
    startup():void{  
       console.log("cpu startup!");
    }  
    shutdown():void{  
        console.log("cpu shutdown!");
    }  
}
 
class Memory {    
   startup():void{  
        console.log("memory startup!");
    }  
    shutdown():void{  
        console.log("memory shutdown!");
    }  
} 
 
class Disk {  
    startup():void{  
        console.log("disk startup!");
    }  
    shutdown():void{  
        console.log("disk shutdown!");
    }  
}

class Computer {  
    private cpu:CPU;  
    private memory:Memory;  
    private disk:Disk;  
 
    constructor(){  
        this.cpu = new CPU();  
        this.memory = new Memory();  
        this.disk = new Disk();  
    }  
 
   startup(){  
        console.log("start the computer!");  
        this.cpu.startup();  
        this.memory.startup();  
        this.disk.startup();  
        console.log("start computer finished!");  
    }  
 
   shutdown(){  
        console.log("begin to close the computer!"); 
        this.cpu.shutdown();  
        this.memory.shutdown();  
        this.disk.shutdown();  
        console.log("computer closed!");  
    }  
}

let computer:Computer = new Computer();  
computer.startup();  
computer.shutdown();

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值