Dart中Mixin使用场景有哪些?有哪些优势?

162 阅读1分钟

概念

Mixin 是一种代码重用机制,允许在不使用继承的情况下在多个类之间共享代码。

原理

在目标类中插入方法和属性实现代码的复用

使用场景

  • 代码复用
  • 功能增强
  • 解耦代码逻辑
  • 避免多继承冲突

优势

  • 没有继承关系,无需复杂的层次结构
  • 灵活组合代码
  • 解耦逻辑单元

劣势

  • 顺序敏感,Mixin的排列顺序,会影响包含相同名称的方法或属性
  • 性能开销,Mixin 运行时会创建代理类,将Mixin的功能注入到目标类中,会有性能开销(很小)