현재 새 Wpf 응용 프로그램에 프리즘을 도입 중이며 MVVM 패턴을 사용하고 있습니다. Wpf 애플리케이션을 구조화하는 나의 초기 접근법은 하나의 프로젝트를 추가하여 모델 클래스를 유지하고, 하나는 뷰 모델 클래스를 보유하는 등의 작업이었습니다.이 프로젝트는 나중에 분할되어 동일한 프로젝트에서 다른 논리적 구성 요소가 발생하지 않도록 할 수 있습니다. 그러나 이것은 프리즘 (그리고 일반적으로 ..)을 사용할 때 나쁜 구조로 나를 때린다.Wpf MVVM 패턴이있는 프리즘 응용 프로그램 아키텍처
프리즘에서 당신은 다른 논리 모듈로 물건을 구성하고자합니다. 동일한 물건과 관련된 것이 동일한 모듈에 배치됩니다. 따라서이 기사에서는 응용 프로그램의 논리적 부분과 관련된 모든 것을이 부분에 대한 모듈에 넣어야한다고 설명합니다. 이 구성 요소, 관련 뷰 모델 및 필요한 모델 클래스에 대해 서로 다른 뷰를 보유 할 수 있습니다. 이 방법을 사용하면 모델을 내 솔루션에 흩어지게 할 수 있습니다. 모델이 데이터베이스에 묶여있을 때 이것은 나중에 나쁘게 접근 할 수 있습니다. 나는 NHibernate를 사용하고 있으므로 데이터베이스는 실제로 "시각적"이지 않습니다.
그래서 세 가지 구조가 있습니다. 이 중 일반적으로 원하는 것은 무엇입니까? 또는 신청서를 구성해야하는 다른 방법이 있습니까?
- 프로젝트 "Model", "ViewModel"및 UserControls를 보유하는 프로젝트. 기타 ...
- 한 프로젝트의 논리적 부분 -이 부분에 대한 관련보기,보기 모델 및 모델을 모두 포함합니다.
- 하나의 프로젝트 pr 논리 부 - 뷰와 뷰 모델을 포함하지만 모델은 별도의 프로젝트에 정의됩니다. 논리적 인 관계가있는 경우 모든 모델 클래스에 대해 하나의 프로젝트 여야합니다.
의견을 크게 환영합니다.
Thx. 나는 너에게 동의하며 이것은 내가 지금 선택한 구조이다. 그러나 한 모듈에서 다른 모듈로 참조하는 것이 좋습니까? 아니면 서로에 대해 알지 못하도록해야합니까? 예 : "고객"을 처리 할 모듈이 있어야합니다. 그러나 "Sales"를 처리하는 다른 모듈이있는 경우 Customer ViewModel도이 모듈에서 참조 할 수 있습니다. 이것은 괜찮습니까? 아니면 두 모듈이 처음에는 분리되어 있지 않다는 일반적인 징후입니까? 동일한 모듈로 이동한다는 해결책이 있습니까? 이것에 대한 당신의 의견은 어떻습니까? – stiank81
당신의 모듈은 서로에 대해 알 필요가 없습니다. 그렇지 않으면 모듈화되지 않습니다. 이상적으로 하나 이상의 모듈을 제거하면 응용 프로그램이 제대로 작동합니다. 내가 모듈간에 공통으로 사용할 수있는 유일한 유형은 "모델"또는 기타 계약 유형으로 간주되는 유형입니다. 예를 들어 고객 개체가있는 경우 공유 어셈블리에는 그대로 유지되지만 특정 뷰에만 적합하고 공유는 적절하지 않은 동작 코드가 포함 된 CustomerViewModel은 아닙니다. –