TL; DR:靜態基本功能,不得與angular做任何事情 - 作爲AngularJS服務與純靜態導出的類/方法實現?Typescript和AngularJS - 靜態方法vs服務
長版本:我已經在TS中編程了大約一個月,因爲我們正在重構我們的應用程序以與TS(準備角2.0)一起工作。 當我開始經歷一些基本的角度服務時,我在想 - 因爲實現靜態類和方法非常容易 - 也許我們的某些服務根本不應該是服務。 當然,任何與角度有關的功能我都必須作爲服務來實現。例如,ColorConverter或ColorPicker - 今天我們的應用程序中的angularjs服務實現了靜態邏輯,不會改變或與角度或任何共享的外部資源有關 - 可以很容易地用導出靜態函數的靜態模塊替換。 我的辦公室裏有人提出了角度服務的一個論點是,稍後我們可以輕鬆地嘲笑這種邏輯。但是,爲什麼我要模擬靜態邏輯不改變,不訪問任何外部資源? 便士爲您的想法。
我會說,這取決於你是它有多小,以及如何確保你將永遠不會有額外的依賴或需要大幅度修改。使用具有依賴注入的服務可以簡化測試,並讓您在不重構不相關代碼的情況下添加依賴關係的自由度更大。 –
@MichaelAaronSafyan是對的。角度服務很容易測試和嘲笑。 – scokmen
好的,謝謝你的回覆:) – DotnetProg