오늘 알아볼 내용은 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의 의존성이 완전히 분리될 수 없다.
'CS 기초' 카테고리의 다른 글
[운영체제] 메모리의 구조 (0) | 2021.11.01 |
---|---|
[CS기초] 컴파일러, 인터프리터 (0) | 2021.09.14 |
[운영체제] 프로세스와 쓰레드 (0) | 2021.09.13 |
[운영체제] CPU 스케줄러 (0) | 2021.09.13 |