Programming/Design Pattern
✅ [MVC 패턴 완벽 정리] 모델-뷰-컨트롤러 쉽게 이해하기 (쇼핑리스트 예제 포함)
추천캐릭터
2022. 10. 29. 14:09
728x90
반응형
🎯 개발자라면 꼭 알아야 할 디자인 패턴! MVC란?
**MVC(Model-View-Controller)**는 소프트웨어 개발에서 **관심사의 분리(Separation of Concerns)**를 구현하는 대표적인 디자인 패턴입니다.
- 비즈니스 로직과 화면, 입력 제어를 독립적으로 구성할 수 있어 유지보수성이 매우 뛰어납니다.
📌 MVC 구성 요소
🔹 Model (모델)
- 앱이 다뤄야 할 데이터와 비즈니스 로직을 담당합니다.
- 데이터가 변경되면 일반적으로 뷰(View)와 컨트롤러(Controller)에 알려줍니다.
- ✅ 예: 품목 이름, 가격, 수량 등 쇼핑 리스트의 항목 데이터
🔹 View (뷰)
- 사용자에게 보여지는 UI를 담당합니다.
- 데이터를 직접 처리하지 않고, 모델에서 전달받은 데이터만 표시합니다.
- ✅ 예: 쇼핑 항목 리스트를 표 형태로 보여주는 HTML 화면
🔹 Controller (컨트롤러)
- 사용자의 **입력(클릭, 요청 등)**을 받아,
적절한 모델을 호출하고 뷰를 갱신하는 역할을 합니다. - ✅ 예: "장바구니에 담기" 버튼 클릭 → 컨트롤러가 해당 품목을 모델에 추가하고, 뷰를 새로고침
🛒 MVC 예제 - 쇼핑 리스트 앱
쇼핑리스트 앱을 예로 들면 다음과 같이 MVC로 나눌 수 있어요.
역할설명
| Model | itemName, price, quantity 등의 데이터를 정의 |
| View | 리스트 형태로 화면에 항목을 보여주는 레이아웃 |
| Controller | 사용자의 입력을 받아 모델 업데이트 및 뷰 갱신 |
✅ MVC 패턴의 장점
- 🔧 유지보수가 쉬움: 각 구성 요소가 독립적이라 변경이 용이
- 🧩 협업에 유리: 역할 분리가 명확해 프론트/백엔드 개발자 협업에 이상적
- 🚀 재사용성과 확장성 증가
MVC패턴, 디자인패턴, 모델뷰컨트롤러, Model View Controller, 백엔드기초, 소프트웨어아키텍처, 쇼핑리스트예제, Java MVC, Spring MVC, 웹개발패턴728x90
반응형