본문 바로가기
[개발] Info/용어

전통적인 MVC

by Devsong26 2023. 12. 12.

전통적인 MVC(Model-View-Controller)는 소프트웨어 디자인 패턴으로, 애플리케이션을 세 가지 주요 구성 요소인 모델(Model), 뷰(View), 컨트롤러(Controller)로 분리합니다. 이 패턴은 애플리케이션의 데이터 처리(모델), 사용자 인터페이스(뷰), 그리고 사용자 입력과 애플리케이션 로직의 제어(컨트롤러) 사이의 역할을 명확히 구분함으로써, 코드의 재사용성을 높이고, 유지보수를 용이하게 만듭니다.

 


각 구성 요소의 역할

  • 모델(Model)
    • 애플리케이션의 데이터와 비즈니스 로직을 담당합니다.
    • 데이터베이스와의 상호작용, 데이터 검증, 데이터 처리 등의 기능을 수행합니다.
    • 상태 변경이 발생하면 뷰에 알림을 보내 업데이트를 유도합니다.
  • 뷰(View)
    • 사용자에게 데이터를 표시하는 인터페이스를 담당합니다.
    • HTML, CSS, JavaScript 등을 사용하여 사용자가 데이터를 보고 상호작용할 수 있는 UI를 제공합니다.
    • 모델로부터 데이터를 받아 사용자에게 보여주며, 사용자의 입력을 받아 컨트롤러에 전달합니다.
  • 컨트롤러(Controller)
    • 사용자의 입력과 애플리케이션의 응답을 제어합니다.
    • 사용자의 요청을 받아 모델을 조작하고, 그 결과를 뷰에 반영합니다.
    • 일반적으로 사용자의 입력을 처리하고, 모델의 데이터를 변경하거나 조회하는 역할을 담당합니다.

 


작동 원리

  • 사용자가 UI(뷰)를 통해 특정 작업을 요청합니다.
  • 요청은 컨트롤러로 전달되고, 컨트롤러는 요청을 분석하여 필요한 데이터를 모델에 요청합니다.
  • 모델은 비즈니스 로직을 처리하고 결과를 컨트롤러에 반환합니다.
  • 컨트롤러는 모델의 데이터를 받아 뷰에 전달하고, 뷰는 해당 데이터를 사용자에게 표시합니다.

 


MVC 패턴의 장점

  • 분리된 관심사(Separation of Concerns)
    • 각 구성 요소의 역할이 명확히 분리되어 있어, 유지보수와 확장이 용이합니다.
  • 재사용성 및 확장성
    • 각 구성 요소를 독립적으로 개발하고 테스트할 수 있어, 재사용성과 확장성이 뛰어납니다.
  • 유연성
    • 뷰와 모델이 직접적으로 의존하지 않기 때문에, 사용자 인터페이스 변경이 비즈니스 로직에 미치는 영향을 최소화할 수 있습니다.

 


결론


전통적인 MVC 패턴은 애플리케이션의 구조를 체계적으로 관리할 수 있는 효과적인 방법을 제공합니다. 이 패턴은 웹 애플리케이션 개발뿐만 아니라 다양한 소프트웨어 개발 프로젝트에서 널리 사용됩니다.

'[개발] Info > 용어' 카테고리의 다른 글

Module  (0) 2023.12.17
[Network] Socket  (0) 2023.12.12
Nexus Repository  (0) 2023.12.08
분산 락(Distributed Lock)  (1) 2023.12.06
Kafka Connector  (0) 2023.11.30