개발

MVC패턴

카레공 2022. 9. 5. 11:24

MVC (Model-View-Controller)

사용자가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 됩니다. 

이러한 패턴을 성공적으로 사용하면, 사용자 인터페이스로 부터 비즈니스 로직을 분리하여 애플리케이션의 시작적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 고칠 수 있는 애플리케이션을 만들 수 있게 됩니다. 

 

  1. 사용자가 웹사이트에 접속 (Users)
  2. Controller는 사용자가 요청한 웹페이지를 서비스하기 위해서 모델을 호출 (Manipulates)
  3. Model은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후 그 결과를 Return
  4. Controller는 Model이 리턴한 결과를 View에 반영 (Updates)
  5. 데이터가 반영된 View는 사용자에게 보여짐 (Sees)

MVC 패턴방식 

MVC 패턴에는 모델 1 방식과 모델 2 방식이 있는데

  • 모델 1 방식: JSP에서 출력과 로직을 전부 처리
  • 모델 2 방식: JSP에서 출력만 처리

로 분류할 수 있습니다.

 

출처 : https://cocoon1787.tistory.com/733

 

보통 모델 2를 사용한다고 한다 이유는 디자이너의 협업에도 용이하고 model1은 jsp데이터가 비대해지기 때문이다.

 

MVC 패턴 규칙

 

Model 

1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다

2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말어야 한다. 

3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. 

 

View

1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.

2. 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 된다. 

3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. 

 

Controller

1. 모델이나 뷰에 대해서 알고있어야 한다. 

2. 모델이나 뷰의 변경을 모니터링 해야한다.