1
프로젝트의 코드에서 나는 이상한 접근법을 발견했습니다.정적 메서드를 사용하는 서비스 로케이터
public class ServiceManager {
public static MailService getMailService() {
...
}
public static UserInfoService getUserInfoService() {
...
}
...
}
이 클래스 "분산"하는 종속성 스프링 프레임 워크를 사용하여 주입된다
UI 계층 정적 메소드와 클래스 서비스 로케이터 일종의 사용 dependecies을 얻는다.
이 접근 방법의 이유는 무엇일까요? 나는 단점만을 볼 수있다. locator 메소드는 정적이므로 인터페이스가 없습니다. 인터페이스가 없으면 수업의 목적을 추론하기가 더 어려워집니다. 이 클래스의 클라이언트는 그것에 단단히 결합되어 있습니다 (거기에는 인터페이스 없음). 다른 곳에 재사용하는 것을 불가능하게합니다.
Spring이 UI 클래스의 의존성을 직접 주입하도록하지 않는 것이 좋을까요?
+1 개체 인스턴스화를 제어하지 않지만 해당 개체에 종속성을 가져와야하는 경우에는 서비스 로케이터 패턴으로 되돌릴 수밖에 없습니다. –