MVC 패턴이란? Why MVC?
MVC 패턴은 소프트웨어 공학에서 연구된 아키텍쳐 (Software Architecture) 구조 중 하나이다.
패턴의 목적은 사용자 인터페이스 (UI) 와, 비즈니스 로직의 분리라고 한다.
웹 개발 업계에서, 이러한 MVC 패턴을 많이 이용하곤 하는데,
사용하게 된 계기를 추론하자면 아래와 같다.
프로젝트 개발하면서 생기는 소스코드들 (src) 에 관련하여..
사실 개발자들의 성향에 따라 그 소스코드들의 정리 및 보관 / 유지보수를 위한 코드관리는
사바사 (사람 by 사람), 케바케 (Case by Case).. 각자의 취향(?)을 따라 코드가 관리되곤 한다.
( 심지어 본인의 핸드폰 어플리케이션 아이콘 정렬도, 규격화되어있지 않고 취향따라 나뉘지 않는가! )
하나의 프로젝트 개발에 한 사람만 투입된다면, 크게 문제가 되지 않지만
(사실, 그 사람이 떠나면 겉잡을 수 없다는 큰 문제가 있긴 하다)
여러 사람이 투입된다면,
그 프로젝트를 개발하고, 유지하고, 관리하는 데에 큰 애로사항이 꽃필 것이다.
그래서 규격화된 프로젝트 개발 패턴이 필요했고,
UI (사용자 인터페이스) 와 비즈니스 로직 (BE Codes) 의 분리를 이용한 MVC Architecture Pattern 이
웹 개발 환경에 용이하여, 많이들 사용하게 되었다.
So, What is MVC?
위의 내용을 간단하게 번역해보자면 아래와 같다.
Model : backend 서버에서 data logic (데이터 정보)를 담당하는 부분
View : frontend 서버에서 GUI(사용자 그래픽 인터페이스)를 담당하는 부분
Controller : 어플리케이션(프로젝트)의 핵심. 데이터가 어떻게 표현되는지 담당하는 부분.
- 간단하게 나누어본 MVC 폴더 패턴
MVC 패턴을 사용하여
각 소스코드들의 목적과 기능을 상기하고
그 목적대로 코드를 분류해서 저장해놓음으로써
향후 오류 혹은 유지보수가 필요할 때
어느 부분을 작업하게 되는지 보다 수월하게 알 수 있으며,
여러 사람이 작업하게 되더라도 - 정해진 규칙과 Naming 을 모두가 따른다면
다른 사람이 작업한 파일이어도 그 목적에 혼란이 오는 일은 없을 것이다!
(정해진 규칙 안에) 함께라면, 우린 강하다!
참고 페이지
The Model View Controller Pattern – MVC Architecture and Frameworks Explained