본문 바로가기

스파르타 부트캠프(spring)

[내일배움캠프_Spring] 자바 MVC_221207

**MVC패턴 모델


MVC
: Model, View, Controller

  • 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴
    View와 Controller는 Model에 의존하지만, Model은 독립적임(핵심!!)
    ->모델에 대한 작업을 할 때 애플리케이션 로직이나 화면상 표현에 영향을 주지 않는다.
  • -사용 이유
    : 이 3가지로 구성되는 하나의 애플리케이션을 만들면 각각 맡은 바에만 집중할 수 있게 된다.
    ->유지보수성, 확장성, 유연성이 중가하고 중복 코딩이라는 문제점도 사라짐 

 

1.Model

애플리케이션의 정보, 데이터를 나타냄. 데이터베이스, 처음의 장의하는 상수, 초기화 값, 변수 등을 뜻함.

이러한 Data, 정보들의 가공을 책임지는 컴포넌트, 서비스를 말한다.

특징, 규칙 :

  • 사용자가 편집하기 원하는 모듣 데이터를 가지고 있어야 함
  • View나 Controller에 대해서 어떤 정보도 알지 말아야 함
  • 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야 함
  • 모델은 재사용이 가능해야 하며 다른 인터페이스에서도 변하지 않아야 함.

 

2.View
-input테스트, table, 체크박스 등과 같은 사용자 인터페이스 요소를 나타낸다. 데이터 및 객체의 입력, 출력을 담당.
-사용자들이 볼 수 있는 화면
-특징, 규칙

  • Model이 가지고 있는 정보를 따로 저장해서는 안됨
  • Model이나 Controller와 같이 다른 요소들은 몰라야 함.
  • 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야 한다. 그 작업을 위해 변경 통지를 구현한다
  • 재사용이 가능하게 끔 설계를 해야하며 다른 정보들을 표현할 때 쉽게 설계해야 함.


3.Controller
:데이터와 사용자 인터페이스 요소들을 잇는 다리역할.
-특징, 규칙

  • Model이나 View에 대해 알고 있어야 함
  • Model이나 View의 변경을 모니터링해야 한다.