我正在開發一個角度的網頁遊戲,我有一堆使用單個html模板進行視圖的任務。我遇到的問題是如何組織Angular代碼。我應該有更多的角度服務或控制器?
我應該只有一個控制器(它將持有非任務特定的邏輯)並使用一堆服務(每個任務特定邏輯一個)?控制器可能會有一個很大的if/else塊來爲選定的任務使用正確的服務。
或者我應該爲每個任務都有一個控制器嗎?這樣我們就可以使用更少的服務,並將它們分享到各種控制器中進行任務。
哪一個更有意義,可能會有最少的代碼重複?能否有兩個更好的選擇?
我正在開發一個角度的網頁遊戲,我有一堆使用單個html模板進行視圖的任務。我遇到的問題是如何組織Angular代碼。我應該有更多的角度服務或控制器?
我應該只有一個控制器(它將持有非任務特定的邏輯)並使用一堆服務(每個任務特定邏輯一個)?控制器可能會有一個很大的if/else塊來爲選定的任務使用正確的服務。
或者我應該爲每個任務都有一個控制器嗎?這樣我們就可以使用更少的服務,並將它們分享到各種控制器中進行任務。
哪一個更有意義,可能會有最少的代碼重複?能否有兩個更好的選擇?
我只是建議你去爲每個單元的控制器,並建立服務思想作爲可以在控制器之間共享的元素,將它們構建爲功能獨立的可共享元素。
任務1 =控制器1 - >注入所需的那個任務
任務2 =控制器的所有服務2 - >注入所需的這一個
所有服務.......
您不能在控制器之間共享代碼。如果您希望減少重複代碼,您應該創建服務,以便您可以在它們和控制器之間共享代碼。
良好的描述角度控制器與角度服務可以在earlier post
我會建議使用每個任務的控制器。將服務注入與每個控制器相關的特定任務。雖然您仍然需要編寫服務以與控制器共享該數據/邏輯,但您可以避免不必要的服務注入以及大量的if/esle塊