02 Aug

mvc 패턴 예제 java

내가 찾은 디자인 패턴의 가장 좋은 설명은 Java의 Bob Tarr CMSC491D 디자인 패턴(http://userpages.umbc.edu/~tarr/dp/fall00/cs491.html)과 CMSC446 디자인 패턴 소개(http://userpages.umbc.edu/~tarr/dp/spr06/cs446.html)입니다. MVC 디자인 패턴을 기반으로 웹 응용 프로그램을 구현하려면 모델 계층의 역할을 하는 학생 및 StudentService 클래스를 만듭니다. MVC의 간단한 예입니다. 모델, 뷰 및 컨트롤러 각각에 대해 하나의 클래스가 있습니다. 모델은 재사용 이 가능합니다. 뷰는 컨트롤러가 ActionListener인 한 다시 사용할 수 있습니다. 컨트롤러를 다시 사용할 수 없습니다. 내가 생각할 수있는 가장 간단한 MVC 자바 예제; 나는 “안녕하세요 세계!”의 MVC 버전을 원했다. GUI가 있는 Java 응용 프로그램은 일반적으로 여러 구성 요소로 구성됩니다. 이러한 유형의 소프트웨어에 대한 인기 있는 소프트웨어 디자인 패턴은 모델 뷰-컨트롤러 패턴입니다. 응용 프로그램 논리와 사용자 인터페이스 및 사용자 인터페이스와 응용 프로그램 논리 간의 제어를 구분합니다. 다음 UML 다이어그램은 데모컨트롤러에 데모모델 특성이 있지만 그 반대의 경우도 마찬가지이기 때문에 단방향 연결을 보여 주지만 그 반대의 경우도 마찬가지입니다.

데모뷰의 registerController 메서드에는 데모컨트롤러 매개 변수가 있기 때문에 데모뷰에서 데모컨트롤러로 종속성이 표시됩니다. 간단한 계산기는 계산기.zip (자바 독 문서)에 포함되어 있습니다. 이 프로그램에는 아직 볼 수 없었던 두 가지 기능이 있습니다. 하나는 각 파일이 계산기라는 패키지에 있는 것으로 선언된다는 것입니다. Eclipse에서 모든 원본 파일은 src/계산기에 있고 컴파일된 모든 파일은 bin/계산기에 있습니다. 다른 기능은이 프로그램에 메뉴의 예가 있다는 것입니다. 대부분의 MVC 예제는 흥미로운 작업을 수행하는 코드를 보여 준다. 여기서 MVC 기능을 명확하게 하기 위해 모델은 거의 아무 것도 수행하지 않으며(카운터가 있음) 모델, 뷰 및 컨트롤러는 별도의 클래스입니다.

Java가 기본 클래스 관찰자를 선언했기 때문에 모델과 동일한 재사용 문제가 없었습니다. Java에는 기본 클래스 컨트롤러가 없기 때문에 View에서 재사용할 수 없는 문제가 발생합니다. 기본 클래스 컨트롤러가 없는 이유는 무엇입니까? 구글에 따르면, 아무도 그것에 대해 생각조차하지 않았습니다. 나는 OOP 디자인 패턴에 30yr 오래된 MVC의 중심 역할에 대해 생각하고, 누군가가 컨트롤러 기본 클래스를 작성하지 않은 이유를 궁금해. 기본 클래스는 수신 대기 클래스(아마도 UI)로 확장할 수 있어야 했습니다. 그런 다음 컨트롤러가 액션리스트라는 것을 깨달았습니다. 이 단원에서는 뷰 레이어에서 Thymeleaf를 사용하는 스프링 부팅 응용 프로그램을 사용하여 강력한 MVC 예제를 설정하려고 합니다. MVC(모델 뷰-컨트롤러)는 응용 프로그램 논리를 사용자 인터페이스와 분리하는 소프트웨어 엔지니어링에 사용되는 패턴입니다. 이름에서 알 수 있듯이 MVC 패턴에는 세 개의 레이어가 있습니다. MVC 패턴은 웹 응용 프로그램에만 국한되지 는 않지만 이러한 유형의 응용 프로그램에 매우 적합합니다. Java 컨텍스트에서 모델은 간단한 Java 클래스로 구성되고 컨트롤러는 서블릿으로 구성되며 View는 JSP 페이지로 구성됩니다.

슈퍼 클래스에 의해 컨트롤러를 참조의 아이디어를 확장, java.util.EventListener에 하나 더 레벨을 올라가오류를 제공합니다 한 사용자가 퐁을 재생할 수 있도록 간단한 예는 pong.zip (자바 독 문서)에 포함되어 있습니다. 모델은 PongModel에 있고 뷰는 PongView 및 PongPanel에 있으며 컨트롤러는 나머지 코드입니다(기본 메서드 제외). 이 예제에는 패키지 선언 및 메뉴도 있습니다. 이 프로그램에는 팝업 메뉴(마우스 오른쪽 클릭으로 액세스할 수 있음)와 동일한 메뉴 항목에 대한 바로 가기 키(f, p 및 e)도 있습니다. 또한 창의 크기를 추적합니다. 아마도 모든 컨트롤러 코드가 단일 클래스에 배치 되었을 수 있지만 모호한 개선이 될 수 있습니다. 디자인 패턴은 프로그래밍 방식에 기반을 두고 있으므로 언어와 프레임워크는 독립적입니다. 아래의 의견에 귀하의 의견을 남겨 주시기 바랍니다. 아래 링크에서 MVC 예제 프로젝트를 다운로드하십시오.

DemoModel 개체에는 점 배열과 색상을 저장하기 위한 인스턴스 변수가 있습니다. [점 오브젝트에는 직접 액세스할 수 있는 인스턴스 변수 x와 y(예: point.x 및 point.y.) 데모 모델은 포인트와 색상을 업데이트하고 액세스하는 방법도 있습니다.