我不太了解 OOPS 模式。
我以前曾在 react 中工作过,但从未达到需要依赖注入和反转的地步(或任何使用它的人)。
我正在浏览Theia Ide 扩展文档并且很难理解这个片段
export const HelloWorldCommand = {
id: 'HelloWorld.command',
label: "Shows a message"
};
@injectable()
export class HelloWorldCommandContribution implements CommandContribution {
constructor(
@inject(MessageService) private readonly messageService: MessageService,
) { }
registerCommands(registry: CommandRegistry): void {
registry.registerCommand(HelloWorldCommand, {
execute: () => this.messageService.info('Hello World!')
});
}
}
有人可以解释我可注入和注入(或上面的代码片段吗?)
根据我对 DI 的模糊理解,我们在类中传递依赖项,而不是在构造函数中导入和初始化它。
在angular docs中,提到了
使用 TypeScript 时,@Inject 仅用于注入原语。
我不确定原语在这里是什么意思
这个类似的问题似乎更像是理论上的并且难以理解:@Injectable() 和 @Inject 中的差异是什么