美文网首页
Mixin模式

Mixin模式

作者: 悟C | 来源:发表于2018-05-27 16:37 被阅读10次

Mixin 有助于减少系统中的重复功能及增加函数复用。Mixin通过将功能注入到对象原型中轻松实现功能共享,但这也导致了原型污染和函数起源方面的不确定性。下面看一个简单Minxin模式的例子:

var Hero = (function () {
  this.forward = function () {
    console.log('前进: 1米');
  };
  this.backward = function () {
    console.log('后退: 1');
  };
  this.attack = function () {
    console.log('普通攻击');
  }
  return function() {
    this.forward = forward;
    this.backward = backward;
    this.attack = attack;
    return this;
  }
})();

var DeMarciaPrince = function (name) {
  this.name = name;
  Hero.call(DeMarciaPrince.prototype);
}


var deMarciaPrince = new DeMarciaPrince('嘉文四世');

console.log(deMarciaPrince.name)
deMarciaPrince.forward();
deMarciaPrince.attack();

以上通过Hero.call(DeMarciaPrince.prototype),在DeMarciaPrince注入了Hero的所有方法和属性。Hero里的方法是每个英雄最基本的方法,所以当我们创建新英雄的时候就可以通过Mixin方式实现代码复用。我们通过闭包实现Hero,避免每次调用的时候都重新定义相同功能的代码。

相关文章

  • JS函数关于mixin,柯里化,高阶函数

    mixin: Mixin是JavaScript中用的最普遍的模式,几乎所有流行类库都会有Mixin的实现。 Mix...

  • Mixin模式

    Mixin 有助于减少系统中的重复功能及增加函数复用。Mixin通过将功能注入到对象原型中轻松实现功能共享,但这也...

  • composition

    mixin 缺点 命名冲突 mixin模式在运行时,会将mixin对象和组件对象合并,如果他们都有相同的属性名时,...

  • JS设计模式

    *工厂模式factory *构造函数模式constructor *单例模式single *混合模式mixin *模...

  • JavaScript Mixin模式

    Mixin模式,混合模式。这是一种不用继承就可以复用的技术。主要还是为了解决多重继承的问题。多继承的继承路径是个问...

  • Python mixin模式

    Mixin模式是一种在python里经常使用的模式,适当合理的应用能够达到复用代码,合理组织代码结构的目的。 Py...

  • js 设计模式

    构造函数模式 constructor 混合模式 mixin (继承) 混合模式的要点就是:创建2个或多个构造函数...

  • js设计模式

    构造函数模式 constructor 混合模式 mixin (继承) 混合模式的要点就是:创建2个或多个构造函数...

  • python mixin 模式特点

    以django rest framework 为例 Mixin 类功能单一 不和基类关联,可以和任意基类组合,基类...

  • 十一、JavaScript Mixin模式

    Mixin 模式 在诸如C++或者List着这样的传统语言中,织入模式就是一些提供能够被一个或者一组子类简单继承功...

网友评论

      本文标题:Mixin模式

      本文链接:https://www.haomeiwen.com/subject/thnbjftx.html