ExtJS 4의 MVC 패턴에 문제가 발생했습니다. 적어도 생각한 것 같습니다. 이 질문에 여러 사람에게 다가 섰고 Sencha 포럼에 수 차례 게시 한 결과 지금 전구 또는 확인 중 하나를 얻으려는 목적으로 광범위한 잠재 고객을 찾고 있습니다.ExtJS 4 MVC 다중 인스턴스보기 및 하위/하위 컨트롤러 문제
문제
응용 프로그램이 자신이 미니 응용 프로그램입니다 일부는 다양한 뷰를 열 수있는 기능이 있습니다. 또한 사용자는보기의 여러 동시 사본을 열어서 사용하고자 할 수 있습니다.
이 응용 프로그램은 단일 페이지 클라이언트 측 자바 스크립트 응용 프로그램입니다.
ExtJS 4 MVC 모델에서는 Application 클래스의 모든 컨트롤러를 정의해야합니다. 그런 다음이 컨트롤러는 응용 프로그램이로드 될 때 초기화됩니다. 컨트롤러는보기, 모델 및 상점을 추적합니다.
제어기 A를 여러 번 초기화 할 때,보기의 사본을 두 개 이상 작성하면 동일한 데이터 저장소를 참조하는 두 개의보기가 생겨 기능적으로 중복 이벤트를 응용 프로그램 이벤트 버스로 보냅니다.
저는 새로운 프로토 타입 메소드를 Component와 Controller에 추가하여 a) 하위 컨트롤러 (일부 컨트롤러가 상당히 커지고 있음)와 b) 작업 할 뷰를 위해 특별히 상점을 정의 할 수있게했습니다. 모델을 컨트롤러에서 정의 할 수 있습니다. 서버에서 레코드를 가져 오는 것과 같은 작업을 수행해야 할 경우 핸들러가 쉽게 사용할 수 있습니다.
질문
MVC의 나의 이해는 모델보다 직접적으로 다음 컨트롤러보다보기 관련이 있다고 생각하는 저를 이끌 것입니다.
ExtJS 4는로드 된 데이터의 재사용을 장려하기 위해 컨트롤러에 Store (더 고전적인 모델의 래퍼로 볼 수있는 것으로 생각할 수 있음)를 부착하고 같은 클래스의 많은 복사본을 가지지 않도록 최적화하기로 결정했습니다 인스턴스화. 그러나 사용자가 볼 수있는 인스턴스가 여러 개있을 경우이 작업을 수행 할 수 없다고합니다. 내 생각에, 많은 인스턴스를 가지는 것은 OO 프레임 워크에서 중요한 옵션이므로, 왜 추세를 버리고 일부 Ext 기본 클래스에서 프로토 타입을 구현했는지. (Ext.implement! 감사합니다.).
상자의 출력을 사용하여에로드 다른 데이터 뷰의 동시에 여러 인스턴스를 가질 수있는 방법이 있습니까 등 제공된 세터, 게터의 MVC 클래스와 함께 사용합니다?
그럼 정확히 여기에 질문이 있습니까? ** 질문 ** 섹션에서 명확하고 일관된 질문을 볼 수 없습니다. 사실, 참고 문헌 (주관적으로, 의견없이)으로 대답 할 수있는 질문을 포함하도록 질문을 업데이트하십시오. – casperOne
일관성이 증가했습니다 – aenigmatic
굉장합니다, 감사합니다! – casperOne