MVC (Mode-View-Controller)는 소프트웨어 디자인 패턴으로, 사용자 인터페이스를 개발하는 데 사용되는 일반적인 디자인 패턴이다. 이 패턴은 코드의 모듈화와 유지,보수를 쉽게 만들며, 애플리케이션의 각 부분을 독립적으로 개발할 수 있도록 도와준다.
Model (모델)
- 애플리케이션의 데이터와 비즈니스 로직을 담당
- 데이터의 상태를 유지하고 변경된 상태를 뷰 및 컨트롤러에 알리는 역할
- 사용자 인터페이스나 표시와 무관하게 데이터 및 비즈니스 로직
View (뷰)
- 사용자에게 데이터를 표시하고 모델의 상태를 표시
- 모델의 변경 사항에 대한 통지를 받아 화면을 업데이트
Controller (컨트롤러)
- 사용자의 입력을 받아 모델 및 뷰에 대한 업데이트를 수행
- 사용자 인터페이스에서 발생한 이벤트를 처리하고, 그에 따라 모델의 상태를 변경하거나 뷰를 업데이트한다.
- 모델과 뷰 사이의 중개자 역할을 수행하여 서로 독립적으로 유지되도록 도와준다.
- 유효성 검사, 파싱, DAO 연결
요청은 URL, URI 로 받음. 데이터는 DTO(Data Transfer Object) 로 받음. DTO는 프로세스 간에 데이터를 전달하는 객체를 의미한다.
MVC 패턴은 다음과 같다.
① 클라이언트가 브라우저를 통해 데이터를 요청. 컨트롤러에게 전달.
② 컨트롤러는 모델을 통해 DB와 상호작용을 한다. 모델은 DAO
③ 컨트롤러는 응답받은 데이터를 View에 업데이트한다.
④ View 에서 클라이언트에게 데이터를 전송, 화면을 출력한다.
MVC 패턴의 장점
- 컴포넌트의 명확한 역할 분리로 인해 서로간의 결합도를 낮출 수 있다.
- 코드의 재사용성 및 확장성을 높일 수 있다.
- 서비스를 유지보수하고 테스트하는데 용이해진다.
- 개발자 간의 커뮤니케이션 효율성을 높일 수 있다
Share article