마이의 개발 블로그

[디자인 패턴] MVC 패턴 (model-view-controller pattern) 본문

개발지식/디자인패턴

[디자인 패턴] MVC 패턴 (model-view-controller pattern)

개발자마이 2022. 2. 18. 04:33
반응형

MVC패턴이란?

- UI 개발에 널리 사용되는 소프트웨어 디자인 패턴으로 모델, 뷰, 컨트롤러의 세 가지 요소를 가지고 있음

- 데스크탑 GUI에 전통적으로 사용되어왔기 때문에 사용자가 의식하지 못할 뿐 다양한 앱에서 사용되어옴

- 여러 프로그래밍 언어에서 MVC 패턴을 구현하는 프레임워크를 찾을 수 있음

사용 목적

- 비즈니스 로직과 화면을 분리하기 위함

- 관심사 분리 (separation of concern, SoC) : 코드의 단순화, 더 나은 유지보수성을 가능하게 함

구성 요소

1. 모델

- 직접적으로 앱의 데이터, 로직, 규약을 다루는 앱의 가장 중심이 되는 구성요소임

- UI로부터 독립적인 앱의 동적 데이터 구조임

- 컨트롤러로부터 사용자 입력(user input)을 받음

 

2. 뷰

- 정보를 보여주는 구성요소 (사용자가 보게되는 화면)

- 같은 정보를 여러 개의 뷰로 보여줄 수 있음

- 모델을 특정한 형식으로 보여줄 수 있음 (보여주는 방식은 뷰에서 결정됨)

 

3. 컨트롤러

- 사용자 입력을 받아 모델이나 뷰에 명령을 내리는 구성요소

- 데이터 모델 객체들의 상호작용을 수행하거나, 사용자 입력을 검증하여 모델에 전달함

 

컨트롤러와 뷰 사이에 직접 화살표를 표기하기도 함 (출처 : 위키피디아)

요약

- MVC 패턴은 UI 디자인 패턴으로 모델, 뷰, 컨트롤러의 세 가지 요소로 이루어진다.

- MVC 패턴은 비즈니스 로직과 화면을 분리(의존성 감소)하여 더 나은 유지보수성을 제공한다.

- 모델은 데이터를, 뷰는 화면을, 컨트롤러는 사용자 입력에 따른 모델과 뷰의 상호작용을 담당한다.

반응형
Comments