본문 바로가기

면접준비

mvc 패턴에 대해서 설명해주세요.

MVC는 Model-View-Controller의 약어로, 소프트웨어 디자인 패턴 중 하나입니다. 이 패턴은 소프트웨어를 세 가지 주요 구성 요소로 나누어 유지보수성과 확장성을 강화합니다.

Model:

  • 컨트롤러의 호출에 응답하여 DB와 상호작용하며 사용자의 입출력 데이터 및 관련 비즈니스 로직을 처리합니다.
  • 데이터 추출, 저장, 삭제, 업데이트 등의 작업을 수행하여 시스템의 핵심 역할을 담당합니다.

View:

  • 사용자와 상호작용하며, 컨트롤러로부터 받은 모델의 결과를 사용자에게 화면으로 출력합니다.
  • 사용자 인터페이스를 담당하여 시각적으로 정보를 전달하고 사용자에게 편리한 경험을 제공합니다.

Controller:

  • Model과 View 사이를 연결하는 인터페이스 역할을 합니다.
  • Model이 데이터를 처리하는 방법을 지시하고, View로부터 사용자 입력을 받아 Model에 전달하여 시스템의 흐름을 조정합니다.

 

장점

  1. 유지보수 및 확장 용이성: 독립성으로 변경이 쉽고 시스템을 쉽게 유지보수하고 확장할 수 있음.
  2. 코드 재사용: 명확한 역할로 코드 재사용이 용이하며 각 부분에 집중 가능.
  3. 효율적인 협업: 협업이 쉬우며 개발자들이 각자 역할에 집중할 수 있음.
  4. 시각적 표현과 로직 분리: 뷰와 모델의 분리로 코드 가독성 향상.
  5. 테스트 용이성: 독립적인 테스트로 소프트웨어 안정성 높임.
  6. 사용자 경험 개선: 디자이너와 개발자의 병행 작업 가능하며, 시각적 변경이 비즈니스 로직에 영향이 적어 사용자 경험이 향상됨.