그냥 블로그^_~
MVC 패턴 본문

MVC 패턴 (Model-View-Controller)
Model
- 요청에 대한 실질적인 처리 담당
- Controller로부터 데이터를 받아 로직을 수행하고 결과 리턴
- Business Logic : Service
- DB Logic : Dao
- 단순 클래스 파일
View
- 클라이언트에게 보여줄 결과 페이지
- 요청에 대한 결과, 요청을 보내는 화면단
- 요청 처리, DB 관련 코드X, 단순히 화면 출력
- logic 처리를 위한 java 코드를 최대한 없애서 tag에 가깝게
- jsp, html
Controller
- 요청 처리에 대한 전반적인 흐름 제어
- 클라이언트의 요청을 분석하여 Model 단을 호출만 함
- Servlet 파일
- 흐름 제어 순서
- 요청 받기
- 요청 관련 파라미터 추출하고 필요하다면 가공
- Model에 요청 처리 넘기기(메소드 호출)
- 처리 결과를 받아서 View 반환
- 넘겨줄 데이터가 있다면 forward, 없다면 redirect
MVC 패턴 사용 이유
- 유지보수성 높아짐
- 모든 기능이 분리되어 있기 때문에 결합도가 낮아짐
- 특정 코드가 바뀌었을 때 다른 코드가 영향을 받는 정도가 적음.
- 모든 기능이 분리되어 있기 때문에 결합도가 낮아짐
- 재사용성
- ex) Dao의 경우 같은 로직이 여러 번 사용되는 경우가 있음. 이럴 때 재사용 가능
- 프로젝트, 협업 시 개발의 효율성
- 역할을 분담해서 맡은 부분의 작업만 잘 수행하면 됨
3계층 아키텍처
Presentation Layer
- 클라이언트와 애플리케이션 간의 상호작용하는 인터페이스 역할
- Controller, View
Business Layer
- 실제 요청한 서비스를 처리하는 영역
- DB로직 제외
Persistant Layer (영속 계층)
- DB나 파일시스템에 접근하여 CRUD 기능
- DAO, DB
'CS > Back-end' 카테고리의 다른 글
Cookie와 Session (0) | 2022.09.25 |
---|