MVC(Model-View-Controller) 패턴

소프트웨어 디자인 패턴 중 하나로, 소프트웨어의 구조화와 유지보수를 쉽게 하기 위한 아키텍처 패턴이다.

이 패턴은 소프트웨어를 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 구성요소로 분리한다.

 

  • 모델(Model): 데이터와 그 데이터를 조작하는 로직을 담당한다. 데이터베이스와 상호작용하거나, 파일 시스템에서 파일을 읽거나 쓰는 등의 작업을 수행한다. 또한, 이 데이터를 표현하는 방법이나 표현 방식에 대해서는 알지 못한다.

 

  • 뷰(View): 사용자가 보는 UI(User Interface)를 담당한다. 모델의 데이터를 받아서 사용자에게 보여주거나, 사용자의 입력을 받아서 컨트롤러에 전달한다.

 

  • 컨트롤러(Controller): 모델과 뷰를 연결하는 역할을 한다. 뷰에서 사용자의 입력을 받아서 모델에게 전달하거나, 모델의 데이터를 뷰에게 전달한다. 또한, 모델이나 뷰에 대한 로직을 처리하거나, 두 요소 간의 상호작용을 관리한다.


MVC 패턴의 장점

  • 유지보수가 용이하다.
  • 모델, 뷰, 컨트롤러가 분리되어 있기 때문에 각각의 요소를 개별적으로 수정할 수 있다.
    확장성이 높다.
  • 모델, 뷰, 컨트롤러를 개별적으로 재사용할 수 있다.
  • 코드의 재사용성이 높아진다.

 

MVC 패턴의 단점

  • 복잡성이 증가한다. 
  • MVC 패턴은 애플리케이션의 복잡도가 증가할수록 더욱 복잡해진다.
  • 프로젝트가 작을 경우, 구현 비용이 높을 수 있다.
  • 구성요소간의 의존성이 증가하게 된다.

+ Recent posts