我们今天讨论的这句话很关键,类被创建时,Angular 根据参数上的 token 去 injector 里取值,再把取到的值传给构造函数。这个描述放在 Angular 里是成立的,因为 Angular 有一整套运行时 DI 容器机制。Angular 官方文档把 InjectionToken 定义为可用于 DI Provider 的 token,并且强调当要注入 interface、函数、数组、参数化类型这类运行时没有真实类型表示的东西时,就需要 InjectionToken。更细一点,Angular 识别 token 靠的是 token 对象引用本身,而不是构造 token 时传入的描述字符串。(Angular)ABAP 这边的答案要拆开讲。ABAP 的构造函数有自动调用机制,但没有 Angular 那种由框架根据参数 token 自动去 injector 层级里解析依赖的机制。ABAP 对象创建时,实例构造函数确实会自动执行。ABAP Keyword Documentation 明确写到,CREATE OBJECT会创建类实例并把引用赋给引用变量,实例构造函数会在对象创建后直接被调用。(Eduardo Copat) 这点和 Angular constru
ABAP 构造函数和 Angular token 注入并不是一回事,但可以写出很接近的依赖注入风格
我们今天讨论的这句话很关键,类被创建时,Angular 根据参数上的 token 去 injector 里取值,再把取到的值传给构造函数。这个描述放在 Angular 里是成立的,因为 Angular 有一整套运行时 DI 容器机制。Angular 官方文档把 InjectionToken 定义为可用于 DI Provider 的 token,并且强调当要注入 interface、函数、数组、参数化类型这类运行时没有真实类型表示的东西时,就需要 InjectionToken。更细一点,Angular 识别 token 靠的是 token 对象引用本身,而不是构造 token 时传入的描述字符串。(Angular)ABAP 这边的答案要拆开讲。ABAP 的构造函数有自动调用机制,但没有 Angular 那种由框架根据参数 token 自动去 injector 层级里解析依赖的机制。ABAP 对象创建时,实例构造函数确实会自动执行。ABAP Keyword Documentation 明确写到,CREATE OBJECT会创建类实例并把引用赋给引用变量,实例构造函数会在对象创建后直接被调用。(Eduardo Copat) 这点和 Angular constru