2016-06-21 3 views
0

사용자 인터페이스, 비즈니스 로직 및 데이터 레이어의 세 가지 레이어를 사용하는 계층화 된 아키텍처를 사용하는 WPF 응용 프로그램이 있습니다. 이제 기능 영역 (예 : 고객, 제품, 주문)별로 애플리케이션을 세로 조각으로 분할해야한다는 요구 사항이 있습니다. 한편 각 수직 슬라이스 내에서 수평 레이어 분리를 유지하려고합니다.모듈 당 여러 개의 어셈블리가있는 PRISM 모듈

이 작업을 수행하기 위해 PRISM 모듈화 프레임 워크를 사용하려고합니다. 따라서 각 기능 영역 (수직 슬라이스)은 PRISM 모듈로 표현됩니다. 하지만 내 모듈에는 계층화 된 아키텍처가 있으므로 각 모듈은 여러 어셈블리로 구성 될 수 있습니다.

PRISM 설명서를 기반으로 ModuleCatalog는 각 모듈이 하나의 어셈블리에 있다고 가정합니다. 하나의 모듈로 여러 어셈블리를 그룹화 할 수 있는지 잘 모르겠습니다. 이것이 가능한지 어떤 아이디어?

편집 - 레이어의 구현 어셈블리를 직접 참조하지 않아도 레이어의 연결을 끊고 싶습니다. 대신 인터페이스 프로젝트를 사용하는 레이어에서 인터페이스 프로젝트 만 참조하도록 해당 레이어의 인터페이스 프로젝트에서 인터페이스를 정의합니다. 이 점을 감안할 때 모듈에 레이어 구현 어셈블리에 대해 알리는 방법이 필요합니다.

답변

2

당신은 그것을 생각하고 있습니다. 다른 어셈블리는 Module 프로젝트의 참조 일뿐입니다. ModuleCatalog에만 모듈을 추가 할 것이며 참조 된 어셈블리가있는 한 예상대로 작동 할 것입니다.

+0

안녕하세요. Brian, 저는 레이어 구현 어셈블리를 직접 참조하지 않아도 레이어의 연결을 끊고 싶습니다. 대신 인터페이스 프로젝트를 사용하는 레이어에서 인터페이스 프로젝트 만 참조하도록 해당 레이어의 인터페이스 프로젝트에서 인터페이스를 정의합니다. 이 점을 감안할 때 모듈에 레이어 구현 어셈블리에 대해 알리는 방법이 필요합니다. –

+0

주된 대답은 또 다른 질문을 유발했습니다. 모듈 클래스를 정의하기 위해 별도의 프로젝트를 추천 하시겠습니까? UI 레이어 프로젝트에 모듈 클래스가 있다고 생각했습니다. 계층화 된 모듈을 구조화하는 데 권장되는 방법이 있습니까? –

+0

인터페이스 어셈블리 만 참조하는 것은 중요하지 않습니다. 구현체를 컨테이너에 등록했다면 실행시에만 작동합니다. –