5
A
回答
3
ES6/TypeScript類沒有任何變化。它們只是JavaScript構造函數的語法糖。
factory
服務的好用例可以通過消除的過程來計算出來。
由於service
服務是最好的OOP味單位:
class FooClass {
static $inject = [...];
constructor(...) {}
}
app.service('foo', FooClass);
而且value
服務是最好的不是從構建類,不涉及DI單身單位:
app.value('bar', 'bar');
app.value('Baz', BazClass);
factory
服務可用於其餘案例。即當一個服務需要DI和返回的值不能被容易地從一個類構造的 - 的函數,一個原語,即從函數調用返回的對象:
app.factory('qux', ($q) => $q.all([...]));
3
我們有同樣的問題,有兩種多年前。決定是保持角系統,只建立角度服務。無論是角廠還是打字稿都是靜態的。原因是我們可以跟蹤如何創建和共享服務。 (由硬)
要回答你的問題,角廠是一個對象,仍然需要在角系統注射基礎。如果你想保持緊張的角度,這是很好的。
另一方面,打字稿更一般。當你調用一個靜態函數時,它只是一個函數。就像你可以在任何其他角度導入它,然後使用它。
1
一些關於JavaScript的圖案:
甲用於在JavaScript中創建對象的常見模式是模塊模式。模式涉及從將作爲公共API的函數返回對象。
模塊模式有一種流行變化,稱爲顯示模塊模式。揭示模塊模式會發生什麼事情,事情開始明確地是私人的,然後選擇是否公開。
相關問題
- 1. 下列情況下需要使用哪些索引
- 2. 在這種Java情況下需要哪些序列化?
- 3. 在哪些情況下我們需要保護繼承?
- 4. 在哪些情況下調用bind()是必要的?
- 5. 我在哪些情況下使用這些排序算法?
- 6. 在AngularJS中擴展工廠TypeScript
- 7. 使用'承諾'與不使用'承諾':在哪些情況下?
- 8. 在哪些情況下,使用工廠類而不是靜態函數是有意義的?
- 9. 需要一些建議在我的情況下使用VLOOKUP在MS EXCEL
- 10. 爲什麼在某些情況下需要將#放在Lisp中?
- 11. 哪些內存管理技術在哪些情況下更好?
- 12. 以下哪種情況下需要虛擬析構函數?
- 13. 在哪些情況下使用定位會比浮動更好?
- 14. 什麼是'xmlhttp.setRequestHeader();'並在哪些情況下使用?
- 15. 我在哪些情況下使用Json或Hibernate?
- 16. 在哪些情況下我應該使用印章班?
- 17. 在哪些情況下實際使用雙時鐘表?
- 18. 在哪些情況下使用getApplicationContext()函數
- 19. 在哪些情況下使用正則表達式更好?
- 20. 登錄超時:您在哪些情況下使用它們?
- 21. 在哪種情況下使用System.UnicodeString.Format?
- 22. 使用@XmlTransient只在某些情況下
- 23. 世界上哪些地方的加密軟件需要使用現金收款機,在這種情況下需要採取哪些安全措施?
- 24. SQL JOIN發行哪位加入需要在這種情況下使用
- 25. 在這種情況下,我需要使用title =「」嗎?
- 26. 在哪種情況下建議使用ActiveResource?而在這種情況下呢?
- 27. 在哪種情況下,我們使用工廠模式並使用單例模式?
- 28. 我是否需要在以下情況下調用ThreadLocal.remove
- 29. 如何在沒有會話工廠的情況下使用IntelliJ生成實體?
- 30. 以下情況需要office 2007宏嗎?