[英]When to inject dependency or use as is in Aurelia?
在Aurelia.js中,我看到了人們如何注入依賴關系的不同示例,但是還沒有找到何時明確地將其包含在注入注釋中或按原樣使用它的明確答案。
例如:
import {inject} from 'aurelia-framework';
import {X} from 'X';
@inject(X)
export class Y {
constructor(X) {
this.x = X;
}
}
要么
import {X} from 'X';
export class Y {
constructor() {
this.ABC = someMethod(X); // using X without inject
}
}
為什么有人會選擇一個?
依賴注入實際上是Aurelia完全接受的一種設計模式 。 盡管您不必強制采用這種模式,但這是最佳實踐,因為您遇到的大多數Aurelia源代碼都將遵循這種模式。 核心團隊成員Jeremy Danyow分兩部分撰寫了一篇關於該主題的精彩文章,我將在下面鏈接。
當您import X from 'X';
如果X
是一個類,而不是一個類的實例,則應使用“依賴注入”來允許Aurelia為您提供該類的實例。
不過有時,模塊導出功能可以導出對象實例。 在這種情況下,您不應該使用DI。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.