문제

IOC 컨테이너가 포함 해야하는 가장 중요한 기능은 무엇입니까? 컨테이너를 쉽게 만들 수 있습니다 15 줄의 코드, 그러나 프로젝트에서 "유용한"것을 포함해야합니까?

도움이 되었습니까?

해결책

이것은 꽤 넓은 개방 주제이며 많은 주관성에 주어졌지만, 나는 매우 실용적인 관점에서 시도하고 대답 할 것입니다. 내가 작업 한 프로젝트와 IOC에 대한 나의 경험을 감안할 때, 나는 유용성 측면에서 찾아야 할 적어도 세 번의 큰 사람이 있다고 말할 것입니다.

  1. 구성 - 사용하는 IOC에는 해당 컨테이너의 동작을 구성 할 수있는 중앙 위치가 있어야합니다. 구성 파일이든, 어딘가에 글로벌 클래스로 싸울 수있는 멋진 API 호출 세트이든 컨테이너를 쉽게 구성 할 수 없다면 두통이 될 것입니다.
  2. 평생 관리 - 다양한 객체 수명을 허용 할 수있는 용기를 원합니다. 특정 객체가 항상 새로운 iPersonCreator를 얻기를 원할 수도 있지만, 주어진 시간에 하나의 iPersonService 만 원합니다.
  3. 자동 의존성 주입 - 자, 종속성 주입은 IOC가 구축 된 개념이지만 직접 관리하고 싶지는 않습니다. 여기서 아이디어는 처음으로 iPersonCreator를 요청하면 모든 종속성과 종속성 등을 자동으로 해결해야한다는 것입니다.

전반적으로 필요한 것은 프로젝트에 따라 다르지만, 당신의 요구에 맞는 몇 가지 컨테이너가 있습니다.

다른 팁

내림차순으로 중요한 순서 :

  1. 최소한 세터 및 생성자 주입 허용,
  2. 코드와 별도의 구성,
  3. 다른 스타일의 구성 (XML 또는 주석)을 허용합니다.

이것들은 15 줄 이상의 코드가 필요하지만, 그것들은 나에게 핵심적인 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top