外观模式

外观模式
对一系列接口进行二次封装,供上层使用。上层使用时只需按照规则进行即可。
通过中间者让客户端和子系统解耦,也让子系统更易于扩展


image.png

Client.js

const Computer = require('./Computer');

computer = new Computer();
computer.start();
computer.shutDown();

Computer.js

const CPU = require('./CPU');
const Memory = require('./Memory');
const Disk = require('./Disk');
function Computer() {
  let _cpu, _memory, _disk;
  _cpu = new CPU();
  _memory = new Memory();
  _disk = new Disk();

  this.start = function () {
    _cpu.startUp();
    _memory.startUp();
    _disk.startUp();
  };

  this.shutDown = function() {
    _cpu.shutDown();
    _memory.shutDown();
    _disk.shutDown();
  };
}

module.exports = Computer;

CPU.js

function CPU() {
  this.startUp = function() {
    console.log("CPU运行");
  };

  this.shutDown = function() {
    console.log("CPU停止");
  };
}

module.exports = CPU;

Disk.js

function Disk() {
  this.startUp = function() {
    console.log("Disk运行");
  };

  this.shutDown = function() {
    console.log("Disk停止");
  };
}

module.exports = Disk;

Memory.js

function Memory() {
  this.startUp = function() {
    console.log("Memory运行");
  };

  this.shutDown = function() {
    console.log("Memory停止");
  };
}

module.exports = Memory;
运行结果

有兴趣可以加入JavaScript交流群,和大佬们一起成长!!!

群号:348108867

QQ群

推荐阅读更多精彩内容

  • 外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就...
    Camming阅读 36评论 0 0
  • 外观模式是为了解决类与类之间依赖关系的,外观模式将类间关系放在一个Facade类中,降低了类类之间的耦合度,该模式...
    Josaber阅读 47评论 1 0
  • 外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就...
    晓疯阅读 43评论 0 0
  • 外观模式 外观模式主要的功能是减少类与类之间的联系,降低了类与类之间的耦合度。 测试类 如果我们没有Compute...
    Lazy1阅读 125评论 0 0
  • 原文地址:LoveDev 外观模式(Facade Pattern):又称为门面模式,为一组接口提供一个统一的入口。...
    KevinLive阅读 140评论 0 2