工廠 VS 服務一勞永逸

根據定義:

服務基本上是建構函式。他們使用’this’關鍵字。

工廠是簡單的功能因此返回一個物件。

引擎蓋下:

工廠內部呼叫提供者功能。

服務內部呼叫工廠功能。

辯論:

工廠可以在返回物件文字之前執行程式碼。

但與此同時,還可以編寫服務以返回物件文字並在返回之前執行程式碼。雖然這是有效的,因為服務被設計為充當建構函式。

實際上,JavaScript 中的建構函式可以返回他們想要的任何內容。

那麼哪一個更好?

服務的建構函式語法更接近 ES6 的類語法。遷移很容易。

摘要

總而言之,提供商,工廠和服務都是提供商。

當你的提供程式中所需的全部是$ get() 函式時,工廠是提供程式的特例。它允許你用更少的程式碼編寫它。

當你想要返回新物件的例項時,服務是工廠的特例,具有編寫較少程式碼的相同好處。

StackOverflow 文件