각 뷰에는 2 개의 뷰 모델이 있습니다.어떤 형태의 viewmodel-viewmodel 통신을 사용하는 대신 2 개의보기 모델을 1로 결합해도 괜찮습니까?
번째 뷰 모델의 관점으로 만 1 속성 표시되어있다PolicyProvider
PolicyType
PolicyNumber
:
TypeOfInvestmentFund
는 1가
제 뷰 모델 3 개 속성보기로 디스플레이되고있다 PolicyType
과 TypeOfInvestmentFund.
사이의 많은 관계 이러한보기 모델과 뷰는 모두 사용자로 표시됩니다. 상위 폼 내부의 컨트롤.
TypeOfInvestmentFund
에 사용할 수있는 선택 사항은 다른보기에 어떤이 선택되어 있는지에 따라 다릅니다. 이 결합 될 수있는 이러한 두 뷰 모델 같은 느낌이 나에게
때문에
A)가 명확 다소 컨트롤이 모두 너무 작고 간단
B)을 결합 그것들을 합치면 복잡하고 관리하기 어려운 물건을 만들지 못할 것입니다.
그러나이 데이터는 상당히 관련이 없습니다. 사용자가 여전히 양식의 별도 부분에 데이터를 표시하고 (따라서 별도의보기에 배치해야 함) 관련성이 충분하지 않습니다.
필자는 개인적으로이 2 가지 뷰 모델을 결합하고 2 개의 개별 뷰를 갖는 것이 서로 다른 부분을 표시하기 위해 뷰에 연결되어 있으면 2 개의 개체 사이의 통신을 관리하는 데 훨씬 적은 오버 헤드가 있다고 느낍니다.
그러나 프리즘 이벤트 수집기와 느슨하게 결합 된 이벤트를 만들 수는 있습니다.이 작업을 한 번도 해본 적이 없지만 관리하기가별로 쉽지는 않습니다.이 두 가지 뷰 모델을 개별적으로 유지하면 걱정의 분리가 유지됩니다. 또한 나중에 다른 컨트롤이이 정보가 필요한 개발 단계에 나타나면 계속 흡수 할 수 없기 때문에이 단계에서 이벤트 수집기를 시작하면 이벤트를 이미 구독 할 수 있으므로 재 작업을 막을 수 있습니다. 뷰 모델을 결합하는 것은 여전히 더 많은 작업입니다.
이 2 개 중 어느 것이 더 정확합니까? 나는 그 심판의 부름을 이해하지만 결정할 수 없으므로 나는 내 마음을 결정하는 데 도움이되는 의견을 찾고있다.
입력 해 주셔서 감사합니다. 불행히도 성능은 여기에서 유일하지 않습니다. 나는이 프로젝트에서 다른 사람과 이야기를 나눴다. 그녀는이 접근 방식의 문제점은 확장 성 (더 많은 이슈가 팝업되면 뷰 모델을 병합 유지할 수없는 질문에서 언급 한 것처럼)과 가독성이라고 말했다. 지금까지 모든 뷰는 뷰 모델을 가지고 있으며, 다른 누군가가 나중에 코드를 보면 매우 혼란 스러울 수 있기 때문에 뷰티 모델을 깨고 싶지 않습니다. 이벤트 수집기에 넣어야 할 것 같습니다. –