이 질문은 설명하기가 어렵지만 최선을 다할 것입니다.Inteface 및 프로젝트 구조를 통한 의존성 주입
제 3 자 서비스에서 데이터를 가져와 비 직렬화 및 일부 스레드 관리 작업을 수행하는 UI를 만들어야하는 프로젝트가 있습니다.
이제 내 프로젝트 구조는 Visual Studio에서 하나 개의 솔루션 아래 :
프로젝트 A : UI를
프로젝트 B : 타사 서비스에서
프로젝트 C 데이터를 얻을 수있는 API : 스레드 관리자 API
참고 : 프로젝트 B에는 IB 인터페이스가 있고 C에는 종속성 주입을 돕는 IC 인터페이스가 있습니다. 프로젝트 B 및 C는 앞으로 다른 팀에서 사용할 예정입니다.
프로젝트 A는 종속성 삽입을 위해 IB 및 IC 인터페이스를 모두 사용합니다.
이제 IOC에 대한 이해를 알려 드리겠습니다. DIP에 따르면 고급 모듈은 하위 모듈에 종속되어서는 안되며 상위 모듈과 하위 모듈 모두 추상화에 의존해야한다고 DIP에 말합니다. 하위 수준 모듈 변경시 상위 수준 모듈의 변경을 방지하려면 하위 수준 모듈이 상위 수준 모듈에 필요한 개체 생성 및 인터페이스를 제어하지 못하도록 제어를 반전해야합니다.
위의 정의에 따르면 IB 인터페이스와 IC 인터페이스는 프로젝트 A 권한에서 정의해야합니다. 프로젝트 A에 있다면 다른 팀이 IB 및 IC 인터페이스를 어떻게 사용합니까? 인터페이스를 저장하기위한 또 다른 프로젝트를 만들지 않습니까?
UI가 역 직렬화를 수행합니까? 그건 UI가 아니에요 ... – Steve
아니, 내가 할 별도의 프로젝트가 .. 위의 설명했다. – Debdeep