정보관리기술사/소프트웨어공학

MVC 모델

기술기술 2023. 11. 29. 17:35

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