[CS] MVC 디자인 패턴

·2023년 1월 27일
0

🎨 MVC 패턴은 무엇일까


MDN에 따르면 MVC(모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이며 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고있다고 한다.

어떤 서비스를 만든다고 가정했을때, 그것을 유지보수를 하고 또 다른이들과 공유를 하면서 만들어야 할 때가 있는데 그때 좀 더 쉽고 깔끔하게 만들 수 있는 방법을 우리는 항상 생각해야한다. 만약 그렇지 못한다면 나의 코드는 나만이 수정할 수 있게되는 극단적인 상황도 벌어질 수 있고, 더 나아가 에러가 났을때 원인을 찾는게 어려울 수도 있다. 그럴때 MVC의 장점이 부각된다.

MVC패턴은 BE와 FE를 구분하고, 또 BE안에서 비지니스 로직과 컨트롤러 등을 구분하여 세세하게 나눠서 프로그래밍을 하게 되는데, 이때 관련이 있는 것들은 같은 것끼리 묶을 수 있고, 각각의 역할에 따라 파일을 구분 지을 수도 있다. 이렇게 되면 장점으로는 에러가 발생시에 원인을 찾기 수월해지고, 다른 사람이 코드를 보았을때 어떤 코드인지 알아보기 수월해 유지보수가 편리할 수 있다는 장점이 생긴다!

수많은 디자인 패턴 중에 하나인 MVC는 결국 우리를 편리하게 하기위해 생겨난 패턴이고 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이라고 할 수 있다.

MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있는데 함께 살펴보도록 하자.

  • 모델: 데이터와 비즈니스 로직을 관리강조.
  • : 레이아웃과 화면을 처리합니다.
  • 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다.

우리에게 친숙한 라이브러리와 프레임워크중에도 MVC 패턴을 포함해서 제작된 것들이 많이 있다.
React나 파이썬의 장고, AngularJS등이 있는데 이처럼 우리의 코드 전반적으로 깊숙이 들어와 우리의 로직을 구분지어주고, 분리된 파일들로 하여금 각자의 역할을 구분지을 수 있게되고, 유지보수성, 애플리케이션의 확장성, 그리고 유연성이 증가하고, 겹치는 문제점들을 보완할 수 있게 되는 MVC패턴을 잘 익혀야 할 것이다.



참고자료
https://m.blog.naver.com/jhc9639/220967034588

profile
뉴비는 문서화를 습관화 해보자

0개의 댓글