우리는 Prism.v4를 사용하여 WPF에서 간단한 CRM (고객, 주문, 리소스 등) 응용 프로그램을 개발할 계획입니다. 우리는 이미 Outlook 표시 줄과 유사한 사용자 정의 컨트롤을 만들고 Microsoft 리본을 사용합니다. 추가 영역이 있지만이 시나리오에서는 필수 영역입니다.프리즘 CRM 기술
customermodule는 ordersmodule에 대해 알고 아무 (필요하지 않습니다 :
는 또한 등 등 우리는 다음과 같은 사실을 해낸 몇 가지 브레인 스토밍 후
모든 모델, 저장소, 인터페이스와 인프라 DLL이 존재 ordersmodule은 고객 모델을 알고 있습니다). 그러나 우리는 usercomfort가 특정 고객에게 속한 모든 주문을로드하기를 원합니다. 그래서 customer-detail-mode (고객 리본 테이블과 고객 outlookbar 아이템들이 주입 됨)에서 우리는 리본 버튼이 "고객 세부 사항"에서 "이 고객 주문"으로 이동하기를 원합니다.
질문 : 느슨한 커플 링을 깨지 않고 이것을 달성하는 방법은 무엇입니까?
고객 접근 방식 : 고객과 상호 작용하는 다른 모듈을위한 영역을 리본 탭에 제공합니다. ordermodule은 고객에 대해 (데이터 모델의 1 : n 관계를 기반으로) 모호하게 알고 있기 때문입니다.
내가 일반적으로 열기 고객의 주문 버튼을 고객 모듈, 순서가 아니라 모듈에서 제공해야한다고 생각 사전
오늘은 조금 피곤할 수 있습니다. 필요한 것이면 잘 모르겠지만 [PRISM Navigation] (http://msdn.microsoft.com/en-us)에서 읽고 싶을 수도 있습니다. /library/gg430861%28v=pandp.40%29.aspx), 아직 안다면 :) –
그건 정확히 내가 원하는 것만은 아닙니다. 내 탐색이 정상적으로 작동합니다. 내가 원하는 것은 접촉 모듈이 주문 모듈과 상호 작용하는 반면 접촉 모듈은 주문에 대해서는 아무것도 모르는 것이다. – csteinmueller
느슨한 커플 링의 포인트는 개별 테스트 할 수 있다는 것입니다. OrderModule.dll을 사용하여 참조가있는 경우에는 그렇지 않습니다. 따라서 'List Orders' 속성을 추가하여 특정 고객의 주문에 사용하면됩니다. 주문이 어떻게 주문 모듈에 존재한다면, 당신은 잘못하고 있습니다. 그것이 귀하의 "도메인 계층"의 일부이기 때문에 응용 프로그램이 넓어서 재사용 할 수 있어야합니다. 그래서 당신은 이러한 모델/엔티티 ApplicationName 같은 별도의 DLL을 넣습니다. 도메인 –