2014-09-25 42 views
0

我正在寫一個應用程序,它對幾個提供者(例如twitter,facebook)進行OAuth身份驗證。我是Angular的新手,UI /模型是用Angular編寫的,沒有問題。但是,我有很多輔助方法,例如callApi,checkVerification,getToken等等。 我想到了8種方法。我一直在研究在AngularJS中創建工廠,但我不知道爲什麼我應該這樣做?這將需要很多重寫,我沒有看到優勢?爲什麼不用輔助方法保持簡單?我爲什麼要在AngularJS中使用工廠?

+0

工廠很不錯,因爲您可以將它們注入到任何需要它們的地方......您可以在工廠中編寫客戶端數據訪問層,然後在需要的地方重新使用它。 – tymeJV 2014-09-25 19:15:18

+0

@波蘭,我同意你的意見,我想知道這一點,我的結論是,這是優先事項。沒有正確的答案,雖然它是開放的討論,我不是說工廠是壞的或錯的。如果想檢查什麼是一些被接受[Angular Best Practices](http://stackoverflow.com/questions/20802798/angularjs-code-naming-conventions) – Dalorzo 2014-09-25 19:16:14

+2

我想你的意思是爲什麼我應該使用Angular中的Services一個SO的答案已經http://stackoverflow.com/questions/16709421/why-use-services-in-angular – mccainz 2014-09-25 19:17:25

回答

1

工廠只是創建角度服務的一種方式。您可以將您的幫助器方法分組到這些服務中。

作爲一個有角度的程序員而不使用服務就像是一名電工而不使用接地線,它並不是真正需要的東西,並且節省了時間而無需掛鉤,但是您冒着開始如果某些器具短路,則發生火災。在編程方面,風險來自代碼靈活性,可維護性和可測試性。如果您的某個模塊無法按預期工作,則調試將會更加困難等。

當您有大量代碼時,輔助函數邏輯分組到服務中可幫助您更輕鬆地組織或查找它們並進行測試他們。

許多高級開發人員建議這種最佳實踐,他們從事大型angularjs項目,並通過以這種方式構建代碼獲得成功經驗。它提供了另一個層,您可能會發現您希望稍後插入代碼。如果你沒有到位,你就不會使用它(因爲你剛剛說的原因,需要時間來重寫),然後隨着時間的推移,你的代碼最終會變得更加混亂和混亂。角的主要特點是鼓勵代碼組織和測試能力。

當然,你可以以任何你想要的方式編寫代碼,但使用服務(通過工廠或其他方法)將幫助你不會因爲長期維護而變得非常困難。像其他設計模式一樣,非常聰明的程序員已經發現了可產生強大的長期可維護性優勢的編碼結構和最佳實踐。

請參見:Why use services in Angular?

更多這方面的意見。

相關問題