Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Git
- 이벤트
- cpu 성능 향상 기법
- 코딩자율학습
- css필수 속성
- HTML
- do it! 한권으로 끝내는 웹 기본 교과서 html+css+자바스크립트 웹 표준의 정석
- react
- typescript
- Do it
- 코딩 자율학습
- 혼자 공부하는 컴퓨터구조+운영체제
- do it! html+css+자바스크립트 웹 표준의 정석
- JS
- css박스 모델
- 코딩 자율학습 html + css + 자바스크립트
- TS
- JavaScript
- 브라우저 렌더링 원리
- 자바스크립트
- CPU
- propschildren
- https://api.jquery.com/
- 메모리와 캐시 메모리
- 비대칭키 암호화
- 코딩
- 코딩 자율학습 html + css + 자바스크립트]
- 이벤트버블링
- css배경
- CSS
Archives
- Today
- Total
게으른 나에게
[소프트웨어] - MVC(Model-View-Controller) 패턴 본문
MVC(Model-View-Controller) 패턴
- 소프트웨어 설계 및 아키텍처를 위한 디자인 패턴 중 하나
- 사용자 인터페이스(UI)와 애플리케이션의 비즈니스 로직을 분리하여 유지보수성과 확장성을 높이는 설계 방식
- 주로 웹 애플리케이션, GUI 애플리케이션, 모바일 애플리케이션 등에서 널리 사용됨
MVC 패턴 목적
- 응집도를 높이고 결합도를 낮춰 유지보수를 쉽게 함
- 역할을 명확하게 분리하여 코드의 가독성과 확장성을 향상
- 사용자 인터페이스(UI)와 비즈니스 로직을 분리하여 독립적인 개발 가능
MVC 패턴 특징
- 데이터(Model), 사용자 인터페이스(View), 제어 로직(Controller)을 분리
- 각 구성 요소가 독립적으로 작동하여 유지보수가 용이
- 애플리케이션의 흐름을 체계적으로 관리할 수 있음
MVC 패턴 구성요소
1️⃣ 모델(Model)
- 애플리케이션의 데이터 및 비즈니스 로직 담당
- 데이터 저장소(DB)와 상호 작용하며, 데이터의 유효성 검사 및 처리 기능 포함
- 독립적으로 작동하며 뷰(View) 및 컨트롤러(Controller)와 직접 연결되지 않음
2️⃣ 뷰(View)
- 사용자에게 데이터를 표시하는 UI 역할
- 모델에서 데이터를 받아 사용자에게 표시 → 사용자의 입력을 컨트롤러에 전달
3️⃣ 컨트롤러(Controller)
- 사용자의 입력을 처리
- 애플리케이션의 흐름 관리
- 사용자의 요청을 받아 모델을 조작 → 변경된 데이터를 뷰에 전달 → 화면 표시
- 모델과 뷰를 연결하는 중간 매개체 역할 수행
작동 원리
예제) 쇼핑 리스트 애플리케이션
- 사용자가 상품을 추가 → 뷰(View)가 입력을 감지하여 컨트롤러(Controller)로 전달
- 컨트롤러가 입력을 분석하고 모델(Model)을 업데이트 → 새로운 상품을 리스트에 추가
- 모델이 데이터 저장 및 갱신 후 컨트롤러에 결과 반환
- 컨트롤러가 모델의 데이터를 받아 뷰(View)에 전달하여 UI 업데이트
- 뷰(View)가 업데이트된 데이터를 사용자에게 표시
사용자 입력 → View 감지 → Controller 전달 → Model 조작 → 결과 반환 → View 업데이트 → 사용자에게 표시
출처
https://www.geeksforgeeks.org/mvc-design-pattern/
MVC Design Pattern - GeeksforGeeks
The MVC design pattern organizes applications into three components\u2014Model, View, and Controller\u2014facilitating easier maintenance, modularity, and reusability of code.
www.geeksforgeeks.org
'My Study > CS' 카테고리의 다른 글
[CS] - 코드 최적화(Code Optimization) (0) | 2025.03.24 |
---|---|
[CS] - 컴파일러(Compiler)와 인터프리터(Interpreter) (1) | 2025.03.24 |
[컴퓨터 아키텍처] - CPU와 GPU (1) | 2025.03.23 |
[네트워크] - HTTP와 HTTPS (1) | 2025.03.23 |
[네트워크] - TCP와 UDP (0) | 2025.03.23 |