Software Architecture

[MVC Pattern] MVC 패턴이란? 기본적인 개념 알고가기

Bans 2022. 7. 18. 21:45

이미지 출처 : https://www.freecodecamp.org/news/the-model-view-controller-pattern-mvc-architecture-and-frameworks-explained/

 

MVC 패턴이란? Why MVC?

 

MVC 패턴은 소프트웨어 공학에서 연구된 아키텍쳐 (Software Architecture) 구조 중 하나이다.

패턴의 목적은 사용자 인터페이스 (UI) 와, 비즈니스 로직의 분리라고 한다.

 

웹 개발 업계에서, 이러한 MVC 패턴을 많이 이용하곤 하는데,

사용하게 된 계기를 추론하자면 아래와 같다.

 


 

프로젝트 개발하면서 생기는 소스코드들 (src) 에 관련하여..

사실 개발자들의 성향에 따라 그 소스코드들의 정리 및 보관 / 유지보수를 위한 코드관리는

사바사 (사람 by 사람), 케바케 (Case by Case).. 각자의 취향(?)을 따라 코드가 관리되곤 한다.

( 심지어 본인의 핸드폰 어플리케이션 아이콘 정렬도, 규격화되어있지 않고 취향따라 나뉘지 않는가! )

 

 

하나의 프로젝트 개발에 한 사람만 투입된다면, 크게 문제가 되지 않지만

(사실, 그 사람이 떠나면 겉잡을 수 없다는 큰 문제가 있긴 하다)

 

여러 사람이 투입된다면,

그 프로젝트를 개발하고, 유지하고, 관리하는 데에 큰 애로사항이 꽃필 것이다.

 

 

그래서 규격화된 프로젝트 개발 패턴이 필요했고,

UI (사용자 인터페이스) 와 비즈니스 로직 (BE Codes) 의 분리를 이용한 MVC Architecture Pattern

웹 개발 환경에 용이하여, 많이들 사용하게 되었다.

 

 

So, What is MVC?

 

What is MVC?

위의 내용을 간단하게 번역해보자면 아래와 같다.

 

Model : backend 서버에서 data logic (데이터 정보)를 담당하는 부분

View : frontend 서버에서 GUI(사용자 그래픽 인터페이스)를 담당하는 부분

Controller : 어플리케이션(프로젝트)의 핵심. 데이터가 어떻게 표현되는지 담당하는 부분.

 

 

 

backend - controllers / models / views

- 간단하게 나누어본 MVC 폴더 패턴

 

 

MVC 패턴을 사용하여

각 소스코드들의 목적과 기능을 상기하고

그 목적대로 코드를 분류해서 저장해놓음으로써

 

향후 오류 혹은 유지보수가 필요할 때

어느 부분을 작업하게 되는지 보다 수월하게 알 수 있으며,

여러 사람이 작업하게 되더라도 - 정해진 규칙과 Naming 을 모두가 따른다면

다른 사람이 작업한 파일이어도 그 목적에 혼란이 오는 일은 없을 것이다!

 

엔 타로 테사다르!

(정해진 규칙 안에) 함께라면, 우린 강하다!

 


 

참고 페이지

MVC Model-View-controller 패턴

The Model View Controller Pattern – MVC Architecture and Frameworks Explained