제목을 입력해주세요_-001.png

📍 기초 디자인 패턴 정리

지난 번에 작성한 생성, 구조, 행동으로 분류한 기초 디자인 패턴 정리 글입니다.

https://velog.io/@wha1eson/CS-소프트웨어-디자인-패턴-기본


📍MVC 패턴

**MVC** (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. 출처 : https://developer.mozilla.org/ko/docs/Glossary/MVC

MVC 패턴이 생겨나게 된 가장 근본적인 이유는 결국 유지보수의 용이성이다. 초기 프로그래머들의 개발 과정에서 더욱 편리하고 유용하게 사용할 수 있는 패턴을 분석하다보니, Model, View, Controller(후술 예정)의 구조를 가진 패턴이 편리하게 사용된다는 것을 알게 되었고, 이를 논문으로 정리하여 발표한 것이 현재 우리가 확인하고 있는 MVC … 등의 디자인 패턴이라는 것이다.

image.png

MVC 패턴은 애플리케이션의 구성 요소를 모델, , 컨트롤러 형태로 나누어 각 구성 요소에 집중하여 개발할 수 있도록 만든 디자인 패턴이다. 해당 디자인 패턴에서 가장 주목할만한 키워드는 관심사 분리로 각 역할 별로 나누어 구성한다는 것이 핵심이라고 볼 수 있다.

MVC 패턴은 의식적으로 사용하지 않더라도 상당히 친숙한 형태라고 볼 수 있는데, 웹 초창기부터 사용되었으며, 사용자의 화면과 컨트롤러, 데이터를 관리하는 모델로 나누어 관리한다. MVC의 장점으로는 재사용성확장성이 용이하다는 점이 있다. 반면, 애플리케이션이 복잡해질수록 모델의 관계가 복잡해지며 컨트롤러의 역할이 커져, 의존성이 커진다는 단점을 가진다.