MVVM 패턴을 사용하여 모든 것이 어떻게 맞는지에 대해 머리를 써야합니다. 그것은 모두 실제로 아주 간단하게 보이지만 그것을 구현하려고하면 내가 코딩하려고 시도하는 여러 가지 다른 규칙을 위반하는 것 같습니다.MVVM - 무엇이 무엇을 포함해야하는지 ... 무엇을 만들어야합니까?
사이드 노트와 마찬가지로 Silverlight 또는 WPF가 아닌 Flex를 사용하여 패턴을 구현하려고합니다. 그렇다면 왜 이런 일을해서는 안되는 지에 대한 좋은 이유가 있다면 그걸 듣고 싶습니다. .
나는 여러 가지 견해가있는 곳에 문제가 있습니다. 때로는 페이지에 두 개의보기를 동시에 표시해야합니다. 때로는 다시 단일보기로 전환합니다. 내 일반적인 플렉스 뇌에서 나는 모든 다른 뷰 (코드 숨김과 동등하게)를 포함하는 코드 숨김이있는 메인 뷰를 가질 것이다. 그런 다음 기본보기는 다른 개별보기를 전환합니다.
MVVM에서 구현하려고하면 ViewModels
에서 내 Views
을 디커플링하는 바인딩을 사용하여 MVVM의 원칙을 고수하려고합니다. 응용 프로그램 전체 상태에 대해 ViewModel
을 만들고 해당 데이터에 내 ApplicationView
을 바인딩하고 모든 하위보기를 전환한다고 가정 해 보겠습니다.
이제 내 하위 뷰에 대한 내 뷰 모델을 어디에 만들어야합니까? 나는 ApplicationView
안에 시도해 보았습니다. 그리고 나서 나는 애플리케이션 뷰 밖에서 시도해 보았고 ApplicationView
에 인스턴스를 전달한 다음 하위 모델에 바인드했습니다. 내가 놓친 게 있니? 이 방법들 중 어느 것도 이것의 분리를 시도하는 요점에 맞지 않는 것 같습니다.
좋은 책이나이 문제를 설명하는 링크는 많은 도움이 될 것입니다.
건배, 제임스
OK 그래서 난 뷰는 뷰 모델에 대한 참조를 포함하는 경우는 내가 확실하지 않았다으로이 내 혼란을 정리 있다고 생각하는 당신이 처음에 예를 들어 설명하는 방법입니다. 아무도 다른 사람의 의견이 있는지보기 위해 며칠 동안 이것을 열어두고 가려고하지만 이것은 기본적으로 내가 한 일입니다. thanks –
보기가 ViewModel에 가져야하는 유일한 "참조"는 선언적 바인딩이어야합니다. MVVM의 목표는 View와 ViewModel을 서로 불가지론스럽게 만드는 것입니다. – markti