2011-01-17 2 views
5

내가 읽은 바로는 MVVM에서 ViewModel이 뷰의 모델이기 때문에 각각의 ViewModel이 해당 ViewModel을 갖기 때문에 모범 사례로 간주됩니다. 일반적으로, 다른 뷰에 의한 ViewModel의 재사용은 권장하지 않는 것처럼 보입니다. 항상 그렇습니까? 그렇지 않은 경우, ViewModel을이 방법으로 재사용할지 어떨지를 판정하기위한 일반적인 가이드 라인은 무엇입니까?다른보기에서 ViewModel을 다시 사용해야합니까? 그렇다면 언제?

ViewModel을 다른 View와 재사용하는 것이 좋을지도 모르는 상황이 있습니다. 두 뷰가 모델에서 완전히 동일한 데이터를 사용하고 뷰 자체가 데이터를 다르게 표현할 때입니다. 뷰가 서로 다른 방식으로 동일한 데이터를 나타내는 것을 처리 할 수 ​​있으면 하나의 ViewModel이 각 뷰를 효과적으로 제공 할 수 있습니다.

답변

8

규칙이있는 이유는 규칙을 위반하기 전에 생각하기 때문입니다.

즉 : 두 개의 유사한보기에서 동일한 ViewModel을 사용하면 아무런 문제가 없습니다. 두 가지 견해가 서로 엇갈 리지 않도록 조심할 필요가 있습니다. 서로 다른 두 가지 일을 시도하는 뷰 모델을 남겨 둡니다.

이렇게하면보기 당 하나의보기 모델을 갖는 것이 좋습니다. 중복으로 이어질 수도 있지만, 장기적으로 볼 수 있도록 쉽게 유지합니다.

중복에 관해서는 공유 기본 클래스가있는 viewmodel 클래스에는 아무런 문제가 없습니다.

+0

더 좋을 수는 없습니다. 여러 뷰에 대해 동일한 VM을 시작으로 시작한 다음 필요에 따라 공통 조상을 추출하여 YAGNI를 기억하십시오. –

+0

그건 논리적으로 보인다. 감사. – foven

관련 문제