工廠 VS 服務一勞永逸
根據定義:
服務基本上是建構函式。他們使用’this’關鍵字。
工廠是簡單的功能因此返回一個物件。
引擎蓋下:
工廠內部呼叫提供者功能。
服務內部呼叫工廠功能。
辯論:
工廠可以在返回物件文字之前執行程式碼。
但與此同時,還可以編寫服務以返回物件文字並在返回之前執行程式碼。雖然這是有效的,因為服務被設計為充當建構函式。
實際上,JavaScript 中的建構函式可以返回他們想要的任何內容。
那麼哪一個更好?
服務的建構函式語法更接近 ES6 的類語法。遷移很容易。
摘要
總而言之,提供商,工廠和服務都是提供商。
當你的提供程式中所需的全部是$ get()
函式時,工廠是提供程式的特例。它允許你用更少的程式碼編寫它。
當你想要返回新物件的例項時,服務是工廠的特例,具有編寫較少程式碼的相同好處。