상세 컨텐츠

본문 제목

#7 MVC 패턴

기초/IT 기본 지식

by 2^7 2024. 11. 4. 21:00

본문

MVC패턴이란?

 Model-View-Controller의 약자로, 소프트웨어 아키텍처의 한 형태로 UI와 비즈니스 로직을 분리하여 유지보수성과 재사용성을 높이는 데 중점을 둔 구조. 웹 애플리케이션과 데스크톱 애플리케이션을 포함한 다양한 소프트웨어(Spring, ASP.NET, Django 등 여러 프레임워크) 개발에서 널리 사용됨

 

1. MVC 패턴 구성 요소

 1) Model

  • Model은 데이터와 비즈니스 로직을 담당하는 부분으로 애플리케이션의 핵심 데이터를 관리하고 데이터베이스와 상호작용하며, View나 Controller와는 독립적으로 작동하도록 설계됨
  • 데이터베이스나 외부 API와 연결해 데이터를 CRUD(생성, 읽기, 업데이트, 삭제)하며, 상태가 변하면 그 내용을 View에 알리는 역할도 함

2) View

  • View는 사용자에게 화면에 표시되는 인터페이스
  • Model에서 제공하는 데이터를 시각적으로 표현하는 역할을 하며, Controller가 제공하는 명령에 따라 특정 데이터를 화면에 보여줌
  • View는 Model과 직접 통신하지 않고, Controller를 통해 데이터를 주고받음으로써 관심사 분리를 유지함

3) Controller

  • Controller는 사용자 입력을 받고, 이를 해석하여 적절한 Model과 View를 갱신하는 역할
  • 사용자의 요청을 받아 Model을 업데이트하고, 변경된 Model 데이터를 기반으로 View를 업데이트하도록 지시함
  • ex) 사용자가 버튼을 클릭하면 Controller가 해당 요청을 받고, 필요한 데이터를 Model에서 가져와 View에 전달하는 식으로 동작

 

2. MVC 패턴 동작 과정

 1) 사용자 입력 (Controller) : 사용자가 애플리케이션에 특정 동작을 수행하도록 명령

 2) 로직 처리 및 데이터 변경 (Model) : Controller는 사용자 입력을 바탕으로 Model에 데이터를 요청하거나 업데이트

 3) 데이터 반영 및 View 업데이트 (View) : Model이 데이터를 업데이트하고 나면, 변경된 데이터를 View에 전달하여 사용자에게 최신 정보를 시각적으로 보여줌

 

3. MVC 패턴 장단점

 1) 장점

  • 관심사의 분리: UI와 비즈니스 로직을 분리하여 개발이 용이하며, 코드의 가독성과 유지보수성이 높음
  • 유연한 테스트 및 확장성: View와 Model이 독립적으로 동작하기 때문에 단위 테스트와 기능 확장이 쉬움
  • 협업 효율성: UI 개발자와 백엔드 개발자가 서로의 영향을 최소화하면서 협업할 수 있음

 2) 단점

  • 복잡성 증가: 간단한 애플리케이션에서는 MVC 패턴이 오히려 복잡성을 증가시킬 수 있음
  • 기본 구조의 부담: 작은 프로젝트에서는 모든 요소를 엄격히 분리해야 하는 부담으로 인해 오히려 비효율적일 수 있음

 

 

728x90

'기초 > IT 기본 지식' 카테고리의 다른 글

#9 백앤드 개발  (0) 2024.12.02
#8 프런트앤드 개발  (2) 2024.11.06
#6 자바(Java) 프레임워크  (0) 2024.10.14
#5 자바 표준 라이브러리  (1) 2024.10.07
#4. 인터프리터 언어  (0) 2024.08.19

관련글 더보기