티스토리 뷰

반응형
MVC(Model–View–Controller) 패턴
MVC(Model–View–Controller) 패턴
― 사용자 인터페이스를 구조적으로 분리하는 대표 아키텍처 모델
1. 정의

MVC는 사용자 인터페이스(UI)와 관련된 소프트웨어 구조를 세 가지 역할로 분리하는 아키텍처 패턴입니다.

구성 요소역할 요약
Model데이터와 비즈니스 로직을 관리
View사용자에게 보여지는 UI 화면
Controller사용자 입력 처리 및 흐름 제어
2. 구성 요소별 설명
✔ Model (모델)

- 핵심 데이터와 시스템 로직을 관리하며, DB 접근, 상태 저장, 비즈니스 처리 등을 담당합니다. - View나 Controller와 직접적으로 의존하지 않도록 설계됩니다.

✔ View (뷰)

- 사용자에게 보여지는 화면(UI)을 구성합니다. - Model의 데이터를 표현하지만 수정하지는 않습니다.

✔ Controller (컨트롤러)

- 사용자의 입력을 해석하고, 적절한 Model을 호출하거나 View를 갱신합니다. - Model과 View 간 중재자 역할을 수행합니다.

3. 동작 구조
[사용자] ──입력──▶ [Controller]
      │             │
      ▼             ▼
  (View)        [Model]
      ▲             │
      └──출력(결과)←┘
    

사용자의 입력은 Controller에 의해 처리되고, 결과는 View를 통해 사용자에게 보여집니다.

 

4. 특징 요약
특징설명
역할 분리데이터, UI, 제어 로직을 명확하게 구분함
유지보수 용이UI와 로직 변경이 독립적으로 가능
테스트 용이성View와 분리된 Model은 단위 테스트가 쉬움
확장성대규모 애플리케이션에도 적합한 구조
5. 장단점
구분설명
장점 ✅ - 책임 분리로 유지보수 및 재사용성 향상
- 개발자 간 역할 분담 용이
- View를 다양하게 구성할 수 있음
단점 ❌ - 구조가 복잡해 초급자에겐 진입 장벽이 있음
- 작은 프로젝트에는 과도한 구조일 수 있음
- Controller가 비대해질 수 있음
6. 예시: 블로그 시스템
역할예시 구성 요소
Model게시글, 댓글, 사용자 데이터 처리 로직
View게시글 목록, 상세 페이지, 입력 폼
Controller글 작성 요청, 폼 처리, 데이터 전송
7. 마무리 요약
구성 요소설명예시
Model데이터 및 로직 처리DB 모델, 계산 처리
View사용자 화면 출력HTML 템플릿, 화면 컴포넌트
Controller입력 해석 및 흐름 제어이벤트 핸들러, 라우팅
반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

데이터베이스 정규형  (0) 2025.04.15
버블정렬(Bubble sort)  (0) 2025.04.14
GoF 디자인 패턴  (1) 2025.04.14
비기능적 요구  (0) 2025.04.14
유스케이스 연결선 4가지 완전 설명  (0) 2025.04.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함
반응형