예를 들어 IDE 응용 프로그램에서 C#의 경우 ClassView와 TextView의 두 가지 뷰가 있습니다.MVC - 다중 모델 하나의 데이터
클래스 뷰에서 클래스 정보를 계층 적 방식으로 표시해야합니다. 여기서 TextView와 마찬가지로 해당 클래스의 코드가 표시됩니다.
클래스 뷰는 클래스, 메서드, 속성, 필드 등을 쿼리해야하지만 텍스트 뷰는 코드에서 행을 쿼리합니다.
두 가지보기를 모두 수정할 수 있습니다. 한보기의 변경 사항은 다른보기에도 반영되어야합니다.
그래서 클래스 뷰에는 하나의 모델이 필요하고 텍스트 뷰에는 다른 모델이 필요하지만 기본 데이터는 동일합니다.
이러한 문제를 해결할 수있는 디자인 패턴이 있습니까?
미리 감사드립니다.
빠른 응답을 주셔서 감사합니다. 모델 A가 (보기 A를 통해) 변경되면 누가보기 B에게 자체를 업데이트하도록 지시합니다. 내 말은 다음과 같음을 의미합니다. View A tells Ctrl'er A는 모델 A에게 일부 데이터를 변경하도록 지시합니다. 모델 A는 공통 모델에 데이터 변경을 알립니다. 공통 모델은 등록 된 모든 관찰자 (이 경우 모델 B)에게 뷰를 업데이트하도록 지시합니다. 모델 B는 Ctrl'erB가 B를 표시하여 업데이트하도록 알립니다. – Ajay
@Ajay : 아마도 귀하의 질문에 뭔가 빠졌지 만, Model은 현재 데이터베이스에있는 대개 기본 데이터를 논리적으로 표현한 것일뿐입니다. 기본 데이터가 변경된 경우 해당 데이터가 변경 될 것임을 나타내는 모델 클래스 인스턴스가 추적됩니다. 이 방법을 구현하는 방법에 대한 자세한 내용은 데이터 저장소의 특성에 따라 달라집니다. 모델 A가 모델 B에 대해 아무 것도 모르고 있는지 여부는 하나의 프로세스 또는 여러 프로세스 (언어, 플랫폼 등)에서 발생합니다. –
데이터는 간단한 파일입니다. . 모든 모델은 동일한 프로세스에 있습니다. 언어 : C#, 플랫폼 : .NET. 내가 알고 싶은 것은 모델이 다른 모델에 데이터 변경을 알릴 수 있는지 여부와 같은 데이터에 대해 여러 모델이있는 시나리오입니다. MVC 패턴이이를 허용하거나 더 나은 작업을 수행하는 다른 패턴이 있습니까? 또한 MVC 패턴을 계층 적으로 지정할 수 있습니다. 하나의 모델은 다른 모델의 모델입니다. 예. 데이터 -> 모델 A -> 모델 1 -보기 1 데이터 -> 모델 A -> 모델 2->보기 2 – Ajay