Mixin Mixin是面向对象程序设计语言中的类提供了方法的实现其他类可以访问mixin类的方法而不必成为其子类Mixin有时被称作included而不是inheritedmixin为使用它的class提供额外的功能但自身却不单独使用不能单独生成实例对象属于抽象类因为有以上限制Mixin类通常作为功能模块使用在需要该功能时混入而且不会使类的关系变得复杂使用者与Mixin不是isa的关系而是able关系 Mixin有利于代码复用又避免了多继承的复杂使用Mixin享有单一继承的单纯性和多重继承的共有性接口与mixin相同的地方是都可以多继承不同的地方在于mixin是带实现的Mixin也可以看作是带实现的interface英语Interface objectoriented programming这种设计模式实现了依赖反转原则