본문 바로가기

개발 공부

MVC 모델?

MVC : Model-View-Controller

 

모델, 뷰, 컨트롤러로 소프트웨어의 구성 요소를 세 가지 역할로 분리 한 것을 말한다.

 

  1. 모델
    • 데이터와 비즈니스 로직을 담당함. DB와의 상호작용 데이터의 유효성 검사, 조작 등을 처리한다.
    • 사용자에게 시작적으로 표현하는 역할.
  2. 컨트롤러
    • 사용자의 입력을 처리하고 그에 맞는 모델의 업데이트와 뷰의 업데이트를 조정한다.
    • 뷰를 통해 사용자가 어떠한 동작을 요청하면 이를 감지하고 해당 동작에 맞는 모델의 업데이트를 수행하고 뷰를 업데이트 한다.

 

장점으로는 유지 보수성과 재사용성을 높이는 장점을 가지고 있고 또 인터페이스오 비즈니스 로직이 독립적으로 개발될 수 있어 작업을 효율적으로 분담할 수 있다.

 

또한 새로운 기능을 추가할 때 해당 기능에 맞는 세로운 모델, 뷰, 컨트롤러를 추가하면 되어 시스템을 확장하기 쉽게 만들어준다. 또 모델과 뷰는 독립적으로 확장될 수 있으므로 시스템의 일부를 변경해도 다른 부분에는 영향을 주지 않는다.

 

각 역할이 분리되어 있어서 단위 테스트가 용이하다.

 

다만, 처음 MVC 패턴은 개인적으로 추상적인 개념으로 느껴져 좀 어려울 수 있다. 즉, 처음 접하는 개발자들은 학습 곡선이 존재할 수 있으므로 여할 간의 상요작용과 데이터 흐름을 이해하는데 집중해야 한다. 또 과도하게 역할을 분리하면 오히려 코드의 가독성을 저하시킬 수 있으니 요구사항을 잘 고려하여 적절하게 사용하여야 한다.

'개발 공부' 카테고리의 다른 글

클래스와 인스턴스의 차이  (0) 2024.01.23
java의 컴파일 과정  (0) 2024.01.22
HTTP, HTTPS?  (0) 2024.01.17
CORS란?  (1) 2023.12.22
라이프사이클(클래스형 vs 함수형), react hooks  (0) 2023.05.01