2012-05-08 2 views
1

GGE (Generic Graphical Editor)의 클래스 다이어그램에서 MVC (Model View Controller) 패턴을 사용하고 있습니다. 패턴은 정말 훌륭하지만, 혼란 스럽다. 완성 된 Selection 클래스를 만들어 MVC의 Model에 연결했지만,이 경우 모델의 많은 뷰 중 하나에서만 View를 선택할 수 있습니다. Selection 클래스를 뷰에 연결하면 패턴의 규칙 (뷰에서 논리적 "보이지 않는"정보)이 깨집니다.MVC 패턴에서 모델과 뷰 간 연결

내 질문은 : Model이 모든 논리적 인 정보를 포함하도록 모든 클래스의 "중간에 어딘가에"의 Selection 클래스를 연결하는 효과적인 방법이 있습니까? 항상? 클래스 다이어그램은 자바를 사용합니다.

MVC, MVP (Model View Presenter) 패턴의 파생물을 발견했지만 도움이되지 않습니다. 내가 놓친 게 있니?

인내심에 감사드립니다. : D

+0

추가 정보 : Select 클래스에 serialization을 추가하는 방법에 대한 아이디어가 있었기 때문에 View가 전환 될 때마다 이전 View에 선택 항목이 있으면 내보내기 및 저장되고 View가 전환 될 때마다 직렬화 된 선택이 있는지 확인하십시오. 프로그램을 종료하면 선택 직렬화 된 모든 파일이 삭제됩니다. 그러나 이것은 매우 효과적이지는 않습니다. 나는 실종 된 방법이 훨씬 더 많다고 생각합니다. –

답변

0

특히 뷰에 로직을 넣지 않는 한 뷰 클래스가 MVC 구성 요소 (예 : 스윙의 JTable) 인 경우 뷰가 상태를 유지할 수 있습니다. MVC 및 MVP는 모두 모듈성, 테스트 가능성 및 이해 가능성에 대한 여러 유형의 코드를 분리하는 데 대한 것입니다. 이러한 기준을 충족하는 한 교리 적으로 "규칙"을 따를 필요가 없습니다.

+0

답변 해 주셔서 감사합니다. 실제로 Selection 클래스를 View로 옮기고 SelectedElements 컬렉션을 그 안에 넣을 것입니다. 왜냐하면 선택 항목을 효과적으로 볼 수있는 다른 방법이 없기 때문입니다. –

관련 문제