나는 오브젝트를 의존성 생성과 결합하지 않고 Java 오브젝트에서 의존성을 획득하는 적어도 세 가지 방법을 보았다.종속성을 획득하는 방법을 선택하는 방법은 무엇입니까?
의존성 주입 - 일부 프레임 워크는 외부 구성 예에 따라 다른 개체에 필요한 객체를 주입 : 봄 관리 빈
종속성 조회 - 클래스가 어떤 종류의 필요한 의존성을 찾습니다 디렉토리 서비스의 예 : Java EE 컨테이너의 JNDI 조회
정적 팩터 - 전역 범위의 객체가 인스턴스를 제공합니다. 표준 Java SE API는 다음과 같이 흩어져있는 것처럼 보입니다. 예 : java.util.Logger.getLogger(name), java.util.Calendar.getInstance()
상황에 가장 적합한 지침은 무엇입니까?
종속성 주입은 프레임 워크와 외부 구성을 필요로하지 않으므로 원하는 인스턴스를 작성하고 필요한 곳에 주입하는 루틴을 작성할 수 있습니다. 물론, 무엇인가를 변경해야한다면 재 컴파일해야합니다 (프레임 워크와 외부 설정이 들어있는 곳). –
관련 질문과 답변을 위해 SO를 검색하는 것이 좋습니다. 이것은 잘 착용 된 영역입니다. 예를 들어, [Dependency Injection & Singleton Design Pattern] (http : // stackoverflow.com/questions/2662842/dependency-injection-singleton-design-pattern) 또는 [ploeh blog] (http://blog.ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx)를 방문하십시오. –
@Jeff Sternal 질문 링크를 보내 주셔서 감사합니다. – Brabster