CS 기초

[Design Pattern] MVC Pattern

태현123 2021. 9. 28. 21:07
728x90
반응형
SMALL

오늘 알아볼 내용은 MVC 패턴이다.

 

MVC패턴이란?

- 모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.

 

응용 소프트웨어 - 위키백과, 우리 모두의 백과사전

앱은 여기로 연결됩니다. 영화에 대해서는 앱 (영화) 문서를 참고하십시오. 응용 소프트웨어(영어: application software) 또는 애플리케이션은 운영 체제에서 실행되는 모든 소프트웨어를 뜻한다. 따

ko.wikipedia.org

 

각각의 구성 요소들은 이런 역할을 한다.

 

<출처 : 생활코딩>

 

1. 컨트롤러 : 사용자의 입력과, 프로그램의 흐름의 제어를 담당한다.

2. 모델 : 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통하여 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가/제거/수정할 수 있다. (백그라운드 동작 로직을 처리.)

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

 

즉, 유저가 컨트롤러를 조작하면 컨트롤러는 모델을 통해 데이터를 가져오고, 그 정보를 바탕으로 시각적인 표현을 담당하는 뷰를 제어하여 사용자에게 전달한다.

 

MVC 패턴을 사용하는 이유?

- 서로 분리되어 각자의 역할에 집중할 수 있게끔 개발하고, 그렇게 프로그램을 만든다면 유지보수/확장성/유연성이 증가하고 중복코딩이라는 문제점이 사라진다.

 

MVC 패턴의 장점 및 단점

 

장점

1. 디자이너와 개발자간에 협업이 용이함.

2. 유지보수 비용을 절감할 수 있음.

3. 확장하기 용이함.

 

단점

다수의 model과 다수의 view가 하나의 controller를 통해 소통을 이루기 때문에, Model과 View의 의존성이 완전히 분리될 수 없다.

반응형
LIST

'CS 기초' 카테고리의 다른 글

[운영체제] 메모리의 구조  (0) 2021.11.01
[CS기초] 컴파일러, 인터프리터  (0) 2021.09.14
[운영체제] 프로세스와 쓰레드  (0) 2021.09.13
[운영체제] CPU 스케줄러  (0) 2021.09.13