2012-05-22 6 views
0

우리는 Prism.v4를 사용하여 WPF에서 간단한 CRM (고객, 주문, 리소스 등) 응용 프로그램을 개발할 계획입니다. 우리는 이미 Outlook 표시 줄과 유사한 사용자 정의 컨트롤을 만들고 Microsoft 리본을 사용합니다. 추가 영역이 있지만이 시나리오에서는 필수 영역입니다.프리즘 CRM 기술

customermodule는 ordersmodule에 대해 알고 아무 (필요하지 않습니다 :

는 또한 등 등 우리는 다음과 같은 사실을 해낸 몇 가지 브레인 스토밍 후

모든 모델, 저장소, 인터페이스와 인프라 DLL이 존재 ordersmodule은 고객 모델을 알고 있습니다). 그러나 우리는 usercomfort가 특정 고객에게 속한 모든 주문을로드하기를 원합니다. 그래서 customer-detail-mode (고객 리본 테이블과 고객 outlookbar 아이템들이 주입 됨)에서 우리는 리본 버튼이 "고객 세부 사항"에서 "이 고객 주문"으로 이동하기를 원합니다.

질문 : 느슨한 커플 링을 깨지 않고 이것을 달성하는 방법은 무엇입니까?

고객 접근 방식 : 고객과 상호 작용하는 다른 모듈을위한 영역을 리본 탭에 제공합니다. ordermodule은 고객에 대해 (데이터 모델의 1 : n 관계를 기반으로) 모호하게 알고 있기 때문입니다.

내가 일반적으로 열기 고객의 주문 버튼을 고객 모듈, 순서가 아니라 모듈에서 제공해야한다고 생각 사전

+0

오늘은 조금 피곤할 수 있습니다. 필요한 것이면 잘 모르겠지만 [PRISM Navigation] (http://msdn.microsoft.com/en-us)에서 읽고 싶을 수도 있습니다. /library/gg430861%28v=pandp.40%29.aspx), 아직 안다면 :) –

+0

그건 정확히 내가 원하는 것만은 아닙니다. 내 탐색이 정상적으로 작동합니다. 내가 원하는 것은 접촉 모듈이 주문 모듈과 상호 작용하는 반면 접촉 모듈은 주문에 대해서는 아무것도 모르는 것이다. – csteinmueller

+0

느슨한 커플 링의 포인트는 개별 테스트 할 수 있다는 것입니다. OrderModule.dll을 사용하여 참조가있는 경우에는 그렇지 않습니다. 따라서 'List Orders' 속성을 추가하여 특정 고객의 주문에 사용하면됩니다. 주문이 어떻게 주문 모듈에 존재한다면, 당신은 잘못하고 있습니다. 그것이 귀하의 "도메인 계층"의 일부이기 때문에 응용 프로그램이 넓어서 재사용 할 수 있어야합니다. 그래서 당신은 이러한 모델/엔티티 ApplicationName 같은 별도의 DLL을 넣습니다. 도메인 –

답변

0

에 감사드립니다. 이 버튼은 URI와

  • 올립니다 네비게이션 요청 ... 두 수를 클릭하면 같은/ShowCustomerOrders? CustID = 주문 모듈 이해하고
  • 열기 이름으로 영역을 포함하는 뷰를 선택할 것이다 1234, "CustomerOrders"와 같이 입력 한 다음 고객 ID를 지역 컨텍스트에 삽입하십시오. Orders 모듈은 고객 주문보기를보기 검색에 등록합니다.

이 옵션 중 어느 것도 OrderModule.dll에 대한 참조를 추가해야하므로 커플 링이 추가되지 않습니다. 그러나 Orders 모듈이 없으면 탐색이 아무 것도하지 않거나 뷰가 비어있게됩니다.

주문 모듈이없는 경우 단추가 나타나지 않도록하려면 대신 주문 모듈을 사용하여보기 검색을 통해 고객 리본에 단추를 추가 할 수 있습니다. 그런 다음 지역 컨텍스트에서 현재 고객의 고객 ID를 선택해야합니다. 그러면 클릭하면 정확한 고객 주문보기를 열 수있는 충분한 정보가 제공됩니다.