最近在用 Rust 重写 VSCode-Textmate 库:scie。原有的代码中,大量地使用了 OO 相关的东西,而 Rust 要实现 OO 也需要一些奇技淫巧,而我本身对 Rust 也不是非常熟练,所以我写了这一篇笔记来记录如何实现一个复杂的 OO 场景。
DIP 依赖倒置原则(Dependence Inversion Principle)
High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
高层模块不依赖于低层模块,两者都应该依赖于抽象。 抽象不应该依赖于细节(具体实现类),细节(具体实现类)应该依赖于抽象。
依赖倒置原则是实现许多面向对象技术所宣称的好处的基本低层机制。