종속성 주입을 위해 C #에서 Unity를 사용하고 있지만 종속성 주입을 사용하는 모든 언어 및 프레임 워크에 질문이 적용되어야합니다.
나는 SOLID 원칙을 따르려고 노력하고 있으므로 많은 추상화를 얻었습니다. 그러나 이제 한 클래스에 몇 번의 주사를 주사 해야하는지에 대한 모범 사례가 있는지 궁금합니다.
예를 들어, 9 개의 주사가있는 저장소가 있습니다. 다른 개발자에게는 읽기 어려울까요?
주사에는 다음과 같은 책임이 있습니다.
- IDbContextFactory-데이터베이스에 대한 컨텍스트 작성
- IMapper-엔터티에서 도메인 모델로 매핑
- IClock-요약 DateTime. 이제 단위 테스트에 도움을줍니다.
- IPerformanceFactory-특정 메소드의 실행 시간을 측정합니다.
- ILog-로깅을위한 Log4net.
- ICollectionWrapperFactory-IEnumerable을 확장하는 컬렉션을 만듭니다.
- IQueryFilterFactory-db를 쿼리 할 입력을 기반으로 쿼리를 생성합니다.
- IIdentityHelper-로그인 한 사용자를 검색합니다.
- IFaultFactory-다른 FaultException을 작성합니다 (WCF 사용).
나는 책임을 위임 한 방법에 대해 정말로 실망하지는 않지만 가독성에 대해 걱정하기 시작했습니다.
그래서 내 질문 :
수업에 필요한 주사 횟수에 제한이 있습니까? 그렇다면 어떻게 피할 수 있습니까?
많은 주사가 가독성을 제한합니까, 아니면 실제로 개선합니까?