2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[백엔드] 기술 면접 Top30 - #2 mvc 패턴

2023. 9. 3. 15:00ㆍ[백엔드] 기술면접
반응형

MVC(Mode-View-Controller) 패턴

 

 

MVC 패턴이란

  • 소프트웨어 아키텍처 디자인 패턴 중 하나로, 소프트웨어 애플리케이션을 구성하고 관리하는데 도움을 주는 패턴입니다.
  • 주로 웹 애플리케이션과 데스크톱 애플리케이션의 개발에 사용되며, 코드의 구조화와 유지보수를 용이하게 만들어줍니다.
  • 애플리케이션의 다양한 부분을 분리하여 개발과 유지보수를 더 효율적으로 관리할 수 있도록 돕습니다.

 

MVC 패턴의 주요 구성 요소

 

1. Model (모델)

  • 애플리케이션의 데이터와 비즈니스 로직을 담당합니다.
  • 데이터베이스에서 데이터를 읽거나 저장하고, 데이터를 가공하거나 업데이트하는 작업을 수행합니다.
  • 데이터를 변경하거나 업데이트할 때 이를 감지하고, 관련된 뷰 및 컨트롤러에 알립니다.

 

2. View(뷰)

  • 사용자에게 정보를 표시하고, 사용자 인터페이스(UI)를 담당합니다.
  • 사용자가 데이터를 볼 수 있도록 모델의 데이터를 시각적으로 표현합니다.
  • 모델의 데이터 변경 사항을 감지하고, 변경된 데이터를 표시하기 위해 자동으로 업데이트 됩니다.

 

3. Controller(컨트롤러)

  • 사용자의 입력을 처리하고, 모델과 뷰간의 상호 작용을 조정합니다.
  • 사용자가 애플리케이션에서 어떤 동작을 취하면, 컨트롤러는 이를 해석하고 모델의 상태를 업데이트하거나, 뷰의 표시를 변경합니다.
  • 사용자 인터페이스와 모델 사이의  중간자 역할을 수행하여 두 요소 간의 직접적인 의존성을 피합니다.

 

MVC 패턴의 장점

 

1. 코드 재사용

각 구성 요소가 독립적으로 분리되어 있어 코드 재사용이 용이합니다.

 

2. 유지보수성

각 요소가 분리되어 있기 때문에 수정이 필요한 경우 해당 요소만 수정하면 되므로 유지보수가 용이합니다.

 

3. 테스트 용이성

각 구성 요소를 개별적으로 테스트할 수 있으므로 소프트웨어 품질을 향상시키는 데 도움이 됩니다.

 

MVC 패턴은 다양한 변형이 있으며, 웹 개발에서는 주로 `MVC` 또는 `MVC 프레임워크` 라는 용어로 들어갑니다.

예를 들어, Ruby on Rails, Django, Spring MVC 등은 MVC 패턴을 기반으로 한 웹 프레임워크 중 일부입니다.

 

요약

MVC 패턴은 소프트웨어 아키텍처 패턴으로, 모델, 뷰, 컨트롤러로 구성됩니다. 모델은 데이터와 비즈니스 로직을 관리하고, 뷰는 사용자 인터페이스를 표시하며, 컨트롤러는 입력 처리와 모델-뷰 간 상호 작용을 조율합니다. 이 패턴은 코드 분리와 유지보수를 용이하게 하며, 웹 개발과 데스크톱 애플리케이션에서 활용됩니다.
반응형