基于 Typescript 和 Decorator 实现依赖注入
什么是依赖注入
依赖注入是将一个对象所依赖的其他对象直接提供给这个对象,而不是在当前对象中直接构建这些依赖的对象。
为什么要使用依赖注入
- 便于单元测试
- 解耦,统一管理被依赖对象的实例化,不用在类的内部创建被依赖对象
如何实现依赖注入
Typescript 中的装饰器 Decorator
装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,访问符,属性或参数上。 装饰器使用@expression这种形式,expression求值后必须为一个函数,它会在运行时被调用,被装饰的声明信息做为参数传入。例如,有一个@sealed装饰器,我们会这样定义和使用sealed函数:
function sealed(target) {
// do something with "target" ...
}
@sealed
class MyClass {