我讀到的關於服務/工廠/供應商的最清晰的例子之一是,它們對應於:一輛汽車,一個爲您提供汽車的工廠(例如紅色汽車,藍色汽車)以及一個輸出汽車的可配置工廠(例如高 - 質量的汽車,低質量的汽車)這是服務和工廠之間的區別嗎?
雖然令我困惑的部分是「一切都是單身」的解釋。從上面的例子中,我假設一個「服務」是一個單獨的返回自己,並且工廠和提供者是返回對象(每一個都是唯一的)的單例。也就是說,如果一個控制器得到一輛藍色的汽車,另一個控制器則是一輛紅色的汽車,他們將是兩輛獨立的汽車。
我認爲雖然混淆來自工廠以兩種不同的方式編寫。有一種方法,你返回一個對象。這使得它在功能上等同於「服務」。換句話說,你返回的是一個可實例化對象的函數,這樣任何使用這個工廠的東西都可以得到新的獨立實例。
這是正確的嗎?寫出工廠的兩種方法中的任何一種都是反模式?
的可能重複[Angular.js:服務提供商VS VS工廠(http://stackoverflow.com/questions/15666048/angular-js-service-vs -provider-vs-factory) – hassassin
我真的希望他們在Angular2中清理它。它過於複雜,沒有我能看到的真正好處。無論如何,內部所有方法都會調用'factory'。 –
我根本沒有發現它很複雜,你有工廠返回的東西和服務,它返回一個經典的方法很好的構造函數..我使用工廠像揭示模塊模式 –