본문 바로가기
CS

[Design Pattern] MVC(Model-View-Controller) 패턴이란?

by DevPark 2024. 3. 16.

1. 개념

MVC (Model-View-Controller) 패턴은 소프트웨어 아키텍처 디자인 패턴 중 하나이다.

사용자 인터페이스를 개발할 때 널리 사용된다.

이 패턴은 애플리케이션을 세 가지 주요 구성 요소로 분리하여 각 요소가 독립적으로 변경될 수 있도록 한다.

 

2. 구성 요소의 역할

Model (모델)

모델은 애플리케이션의 데이터와 비즈니스 로직을 관리한다.

데이터의 변경, 유효성 검사, 데이터베이스 작업 등의 작업을 처리하며, 뷰나 컨트롤러와 직접적으로 상호작용하지 않는다.

View (뷰)
뷰는 사용자 인터페이스를 나타낸다.

레이아웃과 화면을 처리한다.

데이터의 시각적인 표현을 담당하며, 사용자와의 상호작용을 처리하지 않는다.

대부분의 경우 모델의 상태를 표시하기 위해 사용되며, 모델의 변경 사항에 따라 자동으로 업데이트될 수 있다.

Controller (컨트롤러)
컨트롤러는 모델과 뷰 사이의 중개자 역할을 한다.

모델고하 뷰로 명령을 전달한다.

사용자의 입력을 처리하고, 해당 입력에 따라 모델을 업데이트하거나 뷰를 갱신한다.

모델과 뷰를 분리함으로써, 뷰와 모델 간의 직접적인 종속성을 제거하고 재사용 가능한 컴포넌트로 만들 수 있다.

웹 애플리케이션에서 일반적인 MVC 구성요소

3. MVC 패턴의 장점

 

유연성

각 요소가 독립적으로 변경될 수 있으므로 코드 유지보수가 쉽다.

 

재사용성

모델, 뷰, 컨트롤러는 각각 독립적으로 재사용될 수 있으므로 개발 비용과 시간을 절약할 수 있다.

 

테스트 용이성

각 요소를 개별적으로 테스트할 수 있으므로 테스트하기 쉽다.

MVC 패턴은 웹 응용 프로그램과 데스크톱 애플리케이션에서 널리 사용된다.

각 요소의 역할을 명확히 이해하고 구현할 수 있다면 코드의 가독성과 유지 보수성을 향상시킬 수 있다.

 

4. 기타 

MVC에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM(모델 -뷰-뷰모델),  MVP(모델-뷰-프리젠터), MVW(모델-뷰-왓에버)가 있다.

 

5. 같이 보기

https://developer.mozilla.org/ko/docs/Glossary/MVC

 

MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고

developer.mozilla.org

https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC

 

모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 모델, 뷰, 컨트롤러의 관계를 묘사하는 간단한 다이어그램. 웹 애플리케이션에서 일반적인 MVC 구성요소 다이어그램 모델-뷰-컨트롤러(model–view–controller, MVC)

ko.wikipedia.org

 

반응형

댓글