내 목표는 가능하면 내 응용 프로그램과 분리 된 상태로 프레임 워크를 유지하는 것입니다 (완전히 가능하지는 않지만).종속성 삽입을 사용하여 비즈니스 계층 개체를 만드는 방법은 무엇입니까?
내 응용 프로그램, 매퍼 (mappers), 데이터 개체 및 값 개체에 사용되는 여러 가지 일반적인 유형의 모델이 있습니다. 예를 들어 UserMapper는 UserData 객체를 가져 와서 데이터베이스에서 정보를 수집 한 다음 Controller 내에서 사용하기 위해 UserValue 객체에 매핑합니다.
- UserMapper가 : UserData를 필요하며, UserValue (들)
- UserData를 구축 할 수있는 방법 :이 모델은 다음과 같은 종속성이 있음을 의미
는 DB
- (프레임 워크)에서 UserValue이 필요합니다 : 필요 없음
종속성을 자동으로 주입 할 수 있도록 매퍼 개체, 데이터 개체 및 값 개체를 만들기 위해 프레임 워크의 DIC 메서드에 포함합니까? 아니면 비즈니스 레이어 항목을 처리하기 위해 별도의 DIC/Factory를 만들까요?
모듈을 다른 모듈과 완전히 분리 할 수 없습니다. 결국, 다른 모듈과 완전히 분리 된 상태로 작동하는 모듈은 누구에게도별로 사용되지 않습니다! 중요한 것은 커플 링이 얼마나 "단단한 지"입니다. DI는 모듈 간의 연결을 느슨하게 유지하는 기술입니다. 요청 된 클래스의 하위 클래스를 대체 할 수 있기 때문에 유형 삽입 힌트는 메소드 자체에서 클래스를 생성/가져 오는 것보다 느슨합니다. 인터페이스를 구현할 때 제공되는 모든 객체를 전달할 수 있기 때문에 인터페이스 유형 힌팅은 더 가깝습니다. – GordonM
관련 항목 : http://stackoverflow.com/questions/4835046/why-not-use-an-ioc-container-to-resolve-dependencies-for-entities-business-objec/4836790#4836790 –