2017-04-24 63 views
1

this answerthis article都建議創建一個單獨的導入,稱爲「解析器」,用於導入檢索我的數據的服務。我覺得它會更有意義,更少的代碼來修改我的服務來實現Resolve爲什麼解析器需要與服務分離?

Angular's docs甚至去命名他們的解析器服務,例如。 crisis-detail-resolver.service

爲什麼解析器需要與他們使用的服務分開?或者在某些情況下可以使您的服務得到解決嗎?

+0

類只能有1個解決方法,因此如果您的服務用於多個不同的解決方案,則需要單獨的解決方案類。 – adharris

+0

@adharris啊。但如果這是一項只能解決一件事情的簡單服務,那麼將我的服務作爲解決方案就行嗎?還是它仍然被認爲是「不好的做法」,因爲該服務可能會在某一天增長? – adamdport

+0

他們也更容易測試,如果他們是他們自己的東西;但是如果你把它們結合起來,我認爲它不是什麼大不了的事情。 – adharris

回答

0

解析器是服務。並不是他們需要分開。相反,解析器只有一個目的,那就是要解決。因此,他們通常是分開的,因爲他們沒有執行與其他服務相同的角色。如果要將所有其他邏輯包含在解析器服務中,那麼每次訪問具有該解析器的路由時,該服務的邏輯都會加載,這是沒有意義的。分離解決方案還有其他一些細微的原因,但主要是爲了分離問題和其他衝突。

相關問題