1. 정의
- 어플리케이션 시각적 요소와 백그라운드에서 실행되는 비지니스 로직이 서로 영향없이 수정되도록 사용자 인터페이스로부터 기능을 분리한 디자인 패턴
- 특징) 구현 (Implement) 클래스가 아니라, 인터페이스(Interface)를 가지고 프로그래밍. - 상속(Inheritance)이 아니라 위임(Delegation)을 사용. - 커플링 (Coupling)을 최소화
2. 구성요소
가. Model
- 비즈니스 로직과 사용되는 데이터를 다루는 영역(응용프로그램 객체) - 데이터는 DB, 데이터 연산은 SQL 문법을 통해 구현
나. View
- 최종 사용자에게 보여줄 프리젠테이션 로직 담당 영역 - 정적 리소스는 HTML, 동적 리소스는 ASP, PHP, JSP 등 (스크린에 모델을 디스플레이하는 방법)
다. Control (Controller)
- 사용자의 입력 및 흐름제어 담당 (Model/View 연계) - (사용자 인터페이스가 사용자 입력에 반응하는 방법 정의) (MV패턴에서 일부 로직들을 Controller 영역으로 대체) - Model과 View 영역간 코드 결합도를 줄여주는 역할
> MVC 확장패턴 : MVP, MVVM, MVI 등
'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글
오픈소스 소프트웨어 (0) | 2023.11.29 |
---|---|
모듈화 (0) | 2023.11.29 |
Design Pattern (0) | 2023.11.28 |
클래스 다이어그램(Class Diagram) (0) | 2023.11.28 |
Usecase Diagram(유즈케이스 다이어그램) (0) | 2023.11.28 |