2010-06-09 1 views
1

MVVM이 실제로 리세이럴에 구현하기에 좋은 패턴 인 이유를 파악하는 데 어려움을 겪고 있습니다. 나에게는 문제가 있지만, 다른 계층이 있습니다. 코드 작성. UI를 바꿀 수는 있지만 실제로는 필요하지 않습니다. 대신 나는 사용자에게 riaservices, datagrid, dataform으로 모든 기능을 구현하지 않아도된다. 왜 그것은 단순 할 수 없는가?riaservices 기능을 구현할 때 MVVM을 사용해야하는 이유

MVVM에 "IsBusy"및 모든 Dataform 편집 기능을 자동으로 설정하는 방법이 있습니까? 그것은 나에게 바퀴를 다시 발명하는 것과 같습니다. 그리고 그것은 riaservices를 사용하여 코드를 작성하는 것보다 훨씬 빠르다고 생각합니다.

답변

1

"MVVM을 깨면 RIA 서비스를 사용해야하는 이유는 무엇입니까?" :-) 저는 RIA Services 전문가만으로는 IsBusy에 대한 정확한 질문에 대답 할 수없고 MVVM을 사용하여 쉬운 편집 기능을 유지할 수는 없지만 MVVM 및 RIA 서비스가 과장된 롤러 코스터에서 하늘 높이 치고 있다는 것을 명심하십시오. 꽤 많은 블로그 나 개발자 사이트가 슬라이스 된 빵이 왜 최고인지를 설득하려고합니다. 기술이나 패턴이 필요하지 않다면 사용하지 마십시오.

그렇습니다. 제 의견으로는 RIA Services가 진정으로 의미하는 바는 페이지에서 DataGrid를 때리고 데이터베이스를 살펴 보도록하는 것입니다. 그렇기 때문에 거의 모든 샘플이 바로 그런 이유입니다. RIA가 실제로 빛나는 곳인 매끄러운 마법사와 드래그 앤 드롭 개발 방식을 사용하기 때문에 대부분 MVVM을 사용하지 않습니다. 그게 당신이하는 일이라면, MVVM이없는 RIA가 아마도 그 반대 일 것입니다.

+1

@Jakob 당신이 구축하고있는 응용 프로그램과 몇 년 후에 원하는 응용 프로그램에 대해 의미있는 일을하는 것이 실제적입니다. 데모가 잘 된 CRUD 앱을 디자인하는 경우 RIA 서비스가 필요합니다. 그러나 장기적으로 볼 때 테스트가 가능하고 유지 보수가 가능한 응용 프로그램을 원한다면 RIA의 유무에 관계없이 MVVM을 사용하십시오. 이러한 기술이 왜 유용한 지, 올바른 작업에 적합한 도구에 관한 것인지 이해해야합니다. – Agies

1

MVVM은 RIAServices를 중단하지 않습니다. 항상 패턴을 구현하는 방법에 관한 것입니다. MVVM은 Model-View-ViewModel이라는 것을 기억하십시오. ViewModel은 무거워 보이고 뷰는 모델에 바인딩됩니다.

RIA + MVVM에서 ViewModel은 RIA 서비스 호출을 처리하기 만합니다. RIA 서비스가 제공하는 모델을 계속 사용하여 뷰에 바인딩 할 수 있습니다. IsBusy는 아무런 문제가 없으며 일반적으로 제기 할 수있는 뷰 상태입니다.

둘을 함께 사용하는 이유는 무엇입니까? 정확하게 무엇을 바꾸고 테스트하고 융통성을 갖출 지 모르기 때문입니다. 나는 당신에 대해 잘 모르겠다. 나는 서비스와 데이터베이스를 사용하지 않고 내 뷰 모델과 로직을 테스트하려고한다. MVVM을 사용하면 View Model에서이를 수행 할 수 있습니다. 테스트 할 수있는 모델을 제공하는 "가짜"레이어를 스텁링 할 수 있습니다. 즉, 코드를 작성하고 설계자가 서비스를 수행하지 않았거나 해당 부분을 아직 작성하지 않은 경우에도 설계자가 설계하도록 할 수 있습니다.

일단 준비가되면 생산 버전에서 "실제"RIA 모델을 연결하고 거기에서 이동합니다.