什么是 Mixin 模式?
在 OOP 中,Mixin 是一个类。包含其他类的方法,并且不是通过继承的方式来实现的。
我一般理解成“混合”,在 js 中,其实就是Object.assign(obj1, obj2)
,将 obj2 原型上的方法引用复制到 obj1 的原型的同名方法中。
策略模式优缺点
避免了继承,方法的扩展是松耦合的,支持多个对象的方法进行“混合”。
代码实现
1 | // Mixin模式 |
在 OOP 中,Mixin 是一个类。包含其他类的方法,并且不是通过继承的方式来实现的。
我一般理解成“混合”,在 js 中,其实就是Object.assign(obj1, obj2)
,将 obj2 原型上的方法引用复制到 obj1 的原型的同名方法中。
避免了继承,方法的扩展是松耦合的,支持多个对象的方法进行“混合”。
1 | // Mixin模式 |