"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 최적의 설계 및 테스트 가능성을 위해 다층 캐슬 윈저 애플리케이션에서 객체를 어디에서 등록해야합니까?

최적의 설계 및 테스트 가능성을 위해 다층 캐슬 윈저 애플리케이션에서 객체를 어디에서 등록해야합니까?

2025-03-05에 게시되었습니다
검색:730

Where Should I Register Objects in a Multi-Layered Castle Windsor Application for Optimal Design and Testability?

다단계 성 윈저 응용 프로그램에 객체를 등록하는 가장 좋은 위치 및 방법

Castle Windsor를 데이터 액세스 계층, 비즈니스 로직 계층 및 애플리케이션 계층과 같은 다층 구조와 함께 응용 프로그램에 통합 할 때 Windsor에서 객체 등록 설계를 신중하게 고려하는 것이 중요합니다. 문제는 : 물체를 등록 할 책임이있는 사람은 누구입니까?

객체 등록을위한 설계 계획

]
  1. 각 레이어는 자체 객체를 등록합니다. 각 레이어는 자체 객체를 등록합니다. 예를 들어, 비즈니스 로직 계층은 데이터 액세스 계층 구성 요소를 등록하는 반면 비즈니스 로직 계층의 테스트 플랫폼은 데이터 액세스 계층을 시뮬레이션 된 클래스로 대체합니다.
  2. 종속성 등록 : 각 계층은 비즈니스 로직 계층과 같은 종속성을 데이터 액세스 계층 구성 요소로 등록합니다. 테스트에는 "실제"데이터 액세스 계층 개체를 제거하고 모의 개체로 교체하는 것이 포함됩니다.
  3. 응용 프로그램 수준 등록 : 응용 프로그램 (또는 테스트 응용 프로그램)은 모든 종속성의 개체를 등록 할 책임이 있습니다.

권장 메소드 : COMBING ROT ]

최대 모듈성과 느슨한 커플 링을 달성하려면 모든 응용 프로그램 구성 요소를 최대한 늦게 결합해야합니다. 실제로 이것은 응용 프로그램의 루트 디렉토리에서 컨테이너를 구성하는 것을 의미합니다.

    데스크탑 응용 프로그램 :
  • main 메소드
  • asp.net 응용 프로그램 :
  • global.asax ]
  • wcf 응용 프로그램 :
  • servicehostfactory
컨테이너는 조합 엔진 역할을하며 응용 프로그램 루트 디렉토리는

조합 루트 역할을합니다. 이를 통해 응용 프로그램은 불필요한 단위 테스트없이 간단한 실행 파일로 유지됩니다.

컨테이너 테스트 없음 ]

테스트는 컨테이너에 대한 의존성을 피해야합니다. 반대로, 객체와 모듈의 설계는 컨테이너와 무관해야합니다. 단위 테스트는 이러한 구성 요소에 대한 테스트 독립형을 직접 제공 할 수 있습니다.

Windsor Installer는

Windsor에서는 설치 프로그램에서 구성 요소 등록 논리를 캡슐화하여

iwindsorinstaller 를 구현할 수 있습니다. 자세한 내용은 윈저 문서를 참조하십시오.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3