mvc 구조 예제

이 예제 응용 프로그램은 교과서의 JList 예제(그림 14.23)와 JPanel을 사용하는 마우스 그리기 예제(그림 14.34)의 조합입니다. 공급업체마다 크게 다른 코드와 ActiveRecord 추상화의 몇 가지 예는 다음과 같습니다. 대신 컨트롤러는 모델이 업데이트된 후 전체 창을 다시 그립니다. 이 방법의 장점은 뷰와 독립적으로 모델을 테스트할 수 있다는 것입니다. 뷰는 모델을 직접 변경하지 않습니다. 컨트롤러에서 모든 변경 사항을 변경하는 장점은 잘못 변경된 경우 컨트롤러가 가장 먼저 볼 수 있다는 것입니다. 다음은 몇 가지 예제 파일이 있는 간단한 MVC 디렉터리 구조입니다. 이러한 규칙은 내 일반적인 명명 규칙을 따르며 각 개발자는 자체적으로 있을 수 있지만 일종의 표준 명명 규칙을 가지는 것이 현명합니다. 아래 예제 구조의 파일은 단지 예일 뿐이며 개발자는 파일의 구조를 지정하거나 이름을 약간 다르게 지정할 수 있습니다. 예를 들어 “사용자” 모델은 사용자를 나타내는 클래스입니다. (그것은 우리의 사용자를 모델.) 그것은 사용자의 정보와 관련된 변수를 보유하고, 사용자의 정보를 얻을 수있는 기능, 그것을 설정, 업데이트, 자신의 프로필 사진을 얻을, 자신의 상태를 업데이트, 또는 데이터베이스와의 상호 작용을 필요로하는 다른 작업을 수행, 또는 광범위한 (예: 사용자 입력에 따라 계산하는 경우) 이것은 인생을 통해 갈 수있는 방법이 없습니다! 사실, 현대 웹 개발의 MVC 패턴은 바텐더로부터 음료를 주문하여 쉽게 설명 할 수 있습니다. 그리고 네, 당신이 바에 왔다면, 당신은 모든 웹 앱에서 공유하는 주요 구조 패턴을 이해할 수 있다는 것을 의미합니다. ERb를 사용하면 해당 코드를 특수 태그로 래핑하여 HTML 파일 전체에 서버 쪽 코드를 분산할 수 있습니다.

예: DemoModel 오브젝트에는 점 배열과 색상을 저장하기 위한 인스턴스 변수가 있습니다. [점 오브젝트에는 직접 액세스할 수 있는 인스턴스 변수 x와 y(예: point.x 및 point.y.) 데모 모델은 포인트와 색상을 업데이트하고 액세스하는 방법도 있습니다. 이 구현에는 해결해야 할 몇 가지 심각한 단점이 있습니다. 예를 들어 고정 크기 포인트 배열 대신 ArrayList 사용하는 것이 좋습니다.