20240216_MVC 패턴

2024. 2. 19. 09:44IT/TIL

오늘의 TIL은 소프트웨어 디자인 패턴 중 하나인 MVC 패턴에 대한 간략한 정리이다.

 

MVC란? (위키백과)

Model - View - Controller의 줄임말로 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다.

이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여

어플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이

쉽게 고칠 수 있는 어플리케이션을 만들 수 있다. MVC에서 모델은 어플리케이션의 정보(데이터)를 나타내며,

뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고,

컨트롤러는 데이터와 비즈니스 로직사이의 상호동작을 관리한다.

 

https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

 

Model–view–controller - Wikipedia

From Wikipedia, the free encyclopedia Software design pattern Diagram of interactions within one possible take on the MVC pattern Model–view–controller (MVC) is a software design pattern[1] commonly used for developing user interfaces that divides the

en.wikipedia.org

 

 

구성요소

1. 모델(Model)

모델은 모델의 상태에 변화가 있을 때, 컨트롤러와 뷰에 이를 통보한다.

이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고,

컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있다.

 

2. 뷰(View)

뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어온다.

 

3. 컨트롤러(Controller)

컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.

또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다.

 

 

MVC 패턴의 동작 순서

1. 사용자의 액션이 컨트롤러에 들어온다.

2. 컨트롤러에서 사용자의 액션을 확인하고, 모델을 업데이트한다.

3. 컨트롤러는 모델을 나타내줄 뷰를 선택한다.

4. 뷰는 모델을 이용하여 화면을 나타낸다.

 

 

MVC 패턴의 특징

컨트롤러는 여러 개의 뷰를 선택할 수 있는 1 : N 의 구조이다.

컨트롤러는 뷰를 선택할 뿐 직접 업데이트하지 않는다(뷰는 컨트롤러를 알고있지 않다).

 

 

MVC 패턴의 장점

MVC 패턴의 장점은 널리 사용되고 있는 패턴으로써 협업을 할 때 가장 사용하기 쉽다.

또, 패턴의 구조가 가장 단순하여 사용하기에 편리하다.

 

 

MVC 패턴의 단점

MVC 패턴의 단점은 뷰와 모델 사이의 의존성이 높다는 것이다.

뷰와 모델의 높은 의존성은 어플리케이션이 커질수록 복잡해지고 유지보수가 어려워질 수 있다.

 

 

오늘은 MVC 패턴에 대해서 간략하게 알아보았는데,

이는 C#에서만 사용하는 내용이 아니라, 디자인에서 전반적으로 사용되는 개념으로

꼭 프로그래밍 뿐만이 아니라도 디자인을 사용하는 경우에 고려할만한 내용이라고 생각된다.

'IT > TIL' 카테고리의 다른 글

20240220_두 원 사이의 정수 쌍(프로그래머스)  (0) 2024.02.21
20240219_유니티 Monobehaviour  (0) 2024.02.21
20240215_디자인 패턴  (0) 2024.02.15
20240214_오브젝트 풀링  (0) 2024.02.14
20240213_오버로딩, 오버라이딩  (0) 2024.02.14