0

ViewModel이 KnockOut.js 및 Asp.Net MVC의 컨텍스트에서 작동하는 방식에 대해 정말 혼란 스럽습니다.Asp.Net의 ViewModel MVC 대 Knockout.Js

Asp.Net MVC에서 ViewModels는 DTO와 유사합니다. 이들은 강력한 형식의 뷰를 사용하는 데 사용됩니다. 그것은 훌륭한 실천으로 간주됩니다.

그러나 최근에는 완전히 다른 방식으로 ViewModels를 사용하는 Knockout.js에 관심이있었습니다. 나는 여전히 100 % 확실하지 않지만, ViewModels는 컨트롤러처럼 보입니다.

나는 아직도 Asp.Net MVC와 같지 않기 때문에 knockout.js의 ViewModel에 대해 혼란스러워합니다. 이 두 패턴을 명확히하는 데 도움 주시겠습니까?

+0

정확합니다. MVC의 로직은 컨트롤러 내부에 있으며이 컨텍스트의 뷰 모델은 기본적으로보기에 데이터를 전달하기위한 강력한 형식의 ViewBag 또는 DTO입니다. Knockout에서 뷰 모델은 데이터 바인딩을 위해 관찰 가능한 속성을 제공하는 컨트롤러와 같은 일반적인 MVVM 뷰 모델에 더 가깝습니다. –

+0

Angular와 같은 ASP.NET MVC는 MVO 패턴을 구현하며 KO는 MVVM 패턴을 구현합니다. – Anders

+0

@AnthonyChu 혼란을 해결해 주셔서 감사합니다. 따라서 MVVM 패턴을 사용할 때마다 VM은 컨트롤러와 비슷합니까? 항상 그렇습니까? Windows 응용 프로그램 개발 등에서처럼 – harsimranb

답변

1

정확합니다. MVC의 로직은 컨트롤러 내부에 있으며이 컨텍스트의 뷰 모델은 기본적으로 단방향 데이터 바인딩을 위해 뷰에 데이터를 전달하기 위해 강력한 형식의 ViewBag 또는 DTO입니다.

녹아웃 및 XAML 스택의 모든 항목에서보기 모델은 양방향 데이터 바인딩을 위해 관찰 가능한 속성을 제공하는 컨트롤러와 비슷한 일반적인 MVVM "보기 모델"입니다.