JS 设想形式 七(笼统工场形式)

笼统工场形式

笼统工场是工场形式的升级版,他用来建立一组相干或许相互依靠的对象。上节进修了工场形式,类的建立依靠工场类,顺序须要扩大时,我们必需建立新的工场类。工场类是用来临盆产物的,那我们也能够把“工场类当做我们要临盆的产物”,所以笼统工场就是“工场的工场”,即临盆工场的工场。下面经由过程一个例子来深切明白。

代码

//笼统工场形式    

var DP = require("./DesignPattern.js");

function CPUFactory() {
  DP.Interface(this, ['createCPU']);
}

function IntelCPU() {
  this.__proto__ = new CPUFactory();
  this.createCPU = function () {
    console.log('Intel CPU');
  };
}

function AMDCPU() {
  this.__proto__ = new CPUFactory();
  this.createCPU = function () {
    console.log('AMD CPU');
  };
}

function Provider() {
  DP.Interface(this, ['createCPUFactory']);
}
function InterCPUFactory() {
  this.__proto__ = new Provider();
  this.createCPUFactory = function () {
    return new IntelCPU();
  };
}

function AMDCPUFactory() {
  this.__proto__ = new Provider();
  this.createCPUFactory = function () {
    return new AMDCPU();
  };
}

var cpufactory = new InterCPUFactory();
var IntelCpu = cpufactory.createCPUFactory();
IntelCpu.createCPU();

cpufactory = new AMDCPUFactory();
var AmdCpu = cpufactory.createCPUFactory();
AmdCpu.createCPU();

笼统工场的长处

笼统工场形式除了具有工场要领形式的长处外,最主要的长处就是能够在类的内部对产物族举行束缚。所谓的产物族,平常或多或少的都存在肯定的关联(比方差别厂商临盆CPU)。

实用场景

一个继续系统中,假如存在着多个品级构造(即存在着多个笼统类),而且分属各个品级构造中的完成类之间存在着肯定的关联或许束缚,就能够运用笼统工场形式。

    原文作者:zchq88
    原文地址: https://segmentfault.com/a/1190000005139706
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞