1
在我正在開發的項目的代碼中,我遇到了一個奇怪的方法。使用靜態方法的服務定位器
public class ServiceManager {
public static MailService getMailService() {
...
}
public static UserInfoService getUserInfoService() {
...
}
...
}
由本級「分佈式」的依賴正在使用Spring框架注入到它:
的UI層使用一種服務定位的是靜態方法的類變得依賴條件。
這種方法的原因是什麼?我只能看到缺點。由於定位器方法是靜態的,因此沒有接口。界面的缺失使得難以理解該課程的目的。這個類的客戶端與它緊密相連(記住,那裏沒有接口),使他們無法在其他地方重用。
讓Spring直接在UI類中注入依賴性會好嗎?
+1如果您不控制對象實例化,但需要將您的依賴關係放入該對象中,則沒有任何其他選擇,只能恢復到服務定位器模式。 – 2012-01-10 14:16:39