- [디자인 패턴](https://www.notion.so/Backend-top30-27112e66e9e84420b3de93a4cf34480d?pvs=21)의 한 종류
- 기능 별로 코드를 분리하여 가독성, 코드의 재사용성 증가
- 개발 후에도 유지보수성, 확장성이 보장됨
- 여러 개 뷰 만들 수 있음 > 한 개의 모델에 대해 여러 개 뷰 필요할 때 적합
- 독립적인 상태라고는 하지만, Controller가 중간 다리 역할을 해서 완전히 분리되긴 힘듦
- 복잡한 대규모 프로그램의 경우 Controller가 불필요하게 커지기도 한다.
View
), 적절한 서비스를 호출 (해당 업무를 수행하는 model
)하여 사용자에게 반환💡 3~4줄 답변!
모델, 뷰, 컨트롤러로 이루어진 디자인 패턴의 한 종류이다. 모델은 데이터 처리, 비즈니스 로직 관리의 역할을 한다. 뷰는 레이아웃, 화면을 처리하는 역할을 한다. 컨트롤러는 View를 통해 받은 사용자의 요청을 토대로 적절한 서비스에 해당하는 Model을 호출하여, 결과값을 View를 통해 사용자에게 반환한다. 모델과 컨트롤러는 독립성 유지를 위해 다른 요소를 참조하거나, 동작 방식을 알 수 없지만 컨트롤러의 경우 뷰와 모델을 잇는 역할을 하기 때문에 다른 요소에 대해 알고 있고, 다른 요소들의 변경을 모니터링 해야 한다.