"연습"에서 MVC 패턴을 학습하는 중입니다. 즉, 특정 Java 응용 프로그램에서 MVC를 구현하는 방법에 대한 이해를 얻으려고합니다. 방금 조금 더 똑똑해졌습니다. question 방금 물었습니다.MVC 패턴을 적용 할 때 컨트롤러가 뷰를 상속 할 수 있습니까?
MVC 패턴의 본질은 모델이보기도 컨트롤러도 알지 못한다는 사실입니다. 그러나 제어기와 뷰 모두는 제어기가보기를 갱신 할 필요가 있고보기가 제어기에 사용자 조치를 보내야하기 때.에 서로를 알아야합니다. 나는 일반적으로 전략 패턴을 사용하여 컨트롤러를 구현한다는 것을 이해한다. 컨트롤러가 뷰의 동작임을 의미한다. 그것이 어떻게 보이는지에 관계없이, 뷰와 컨트롤러는 오히려 서로 얽혀 있습니다.
이제 저는 상속에 비해 구성을 선호해야한다는 것을 알고 있습니다. 그러나 컨트롤러가보기를 상속하는 디자인을 만드는 것이 합리적일까요? 보기에 접근 자 및 변형 자 메서드를 많이 쓰지 않아도되지만 하위 키가 액세스 할 수 있도록 보호 된 키워드로 모든 구성 요소를 정의하는 것이 대부분입니다.
사용자 입력이 발생할 때보기가 컨트롤러에 알릴 수있는 방법을 생각할 수도 있습니다. 내 생각은 컨트롤러의 각 버튼에 해당하는 작업을 수행하는 것입니다. 그런 다음 해당 액션 (해당 하위 클래스 인 컨트롤러)을 해당 단추 (보기)에 등록해야합니다.
우려를 분리하려고합니다. 여전히 MVC 패턴이 될 것인가, 아니면 완전히 다른 무언가로 나아갈 것인가?
모든 의견을 환영합니다.
귀하의 목표는 무엇입니까? MVC 프레임 워크를 직접 개발하려고합니까? – CoolBeans
내 목표는 내 응용 프로그램에서 MVC 패턴을 어떻게 활용할 수 있는지 이해하는 것입니다. 예를 들어 컨트롤러를보기의 "행동"으로 설정하는 것과 관련하여 이상적인 방법이라고 생각합니다. 그러나 모든 컨트롤러가 뷰를 확장 할 수있게하는 것이 더 간단 할 것 같았습니다. 나는 그것이 게으른 것으로 인정하지만 시간과 코드 라인을 절약하는 방법으로 생각했다. (어떤 패턴이 전부가 아닌가?). 결국, "behaviour"는 원하는 경우보기를 상속하게함으로써 쉽게 변경 될 수 있습니다. – sbrattla