MVC 패턴이란?
MVC 패턴
Model - View - Controller 3개의 컴포넌트로 이루어진 패턴

Model: 데이터와 비지니스 로직을 관리하는 컴포넌트
사용자가 원하는 데이터나 기능들을 다룬다.
View: 레이아웃과 화면을 처리하는 컴포넌트
사용자에게 보여주는 화면을 처리한다.
Controller: Model과 View를 연결하는 컴포넌트
사용자가 원하는 다양한 요청을 처리한다.
MVC 패턴의 사용이유?
여러 글을 읽어 보고, 코드를 짜보면서 느꼈던 가장 주된 이유는 역할을 분담하면서 생기는 이점이었던 거 같습니다.
[ 관심사 분리 ]
mvc패턴을 사용하면서 결국 View와 model을 메인 코드에서 분리하게 된다. 이는 결국 분리된 컴포넌트는 자신이 해야할 일만 하면 되므로 역할 분담을 한 것이라 볼 수 있다.
1. 동시 개발
역할을 분리할 수록 개발자가 분업하여 하나의 기능만 집중적으로 개발할 수 있습니다.
왜냐하면, 하나의 기능에 대해 요청(Controller)이 들어오면 해당 일을 하게되는 모델과 View부분만 작성하면 되기때문에 높은 응집력을 보입니다.
2. 쉬운 유지 보수
프로그램을 작성하면서 초반 부터 역할을 분담하기 때문에, 각 컴포넌트간 낮은 결합을 가지게 되며, 코드의 중복을 확인하기 쉬워, 유지 관리를 쉽게 해줍니다.
3. TDD를 더 하기 쉽게 해준다.
코드가 여러 구조적으로 정의되기 때문에 단위 테스트를 통해 더 쉽게 디버깅이 가능하다.
결론
결국 MVC패턴과 같이 이러한 아키텍쳐 구조들은 좋은 코드를 만들기 위해 사용합니다.
좋은 코드란 무엇인가 생각해보면 혼자서 짜는 것이 아니고 여러 사람과 하며, 프로그램이 커질 수록 동시 개발이 필요하고 클린 코드를 작성해야 하는 것을 생각하면, 이러한 이점을 가지는 패턴들이 나오는 것이 이해가 됐습니다.
참고 문헌
MVC 창시자가 말하는, MVC의 본질 (velog.io)
Benefit of using MVC - GeeksforGeeks
Why MVC Architecture?. Hi guys, in this session we are going… | by Socratic Solution | Medium
[개발자 면접준비]#1. MVC패턴이란 : 네이버 블로그 (naver.com)
제 포스트는 개인적으로 정리한 것뿐 위 자료들도 보는 것을 추천합니다.