MVC Pattern

Lucy·2022년 12월 19일
0

Dev.note

목록 보기
3/4
post-thumbnail

Application을 Model-View-Controller의 세 가지 역할로 구분한 개발 방법론 / 소프트웨어 디자인 패턴

Design Pattern
프로그램 등 개발 중에 발생했던 문제점들에 대해 상황에 따라 간편하게 적용해서 특정한 규약으로 쉽게 쓸 수 있는 형태로 정리한 것으로 유지 보수성을 높임
Ex. MVC 패턴, Strategy 패턴, Observer 패턴 등

필요성

각 component를 분리하여 각자의 역할에 집중할 수 있게끔함으로써 유지보수성, application의 확장성, 유연성이 증가하고, 중복 코딩의 문제점이 사라짐

구조

Model

데이터와 비즈니스 로직을 관리하는 객체

  • 데이터 : 내부의 상태에 대한 정보나 모델을 표현하는 이름 속성으로 DB, 상수, 초기화 값, 변수 등을 뜻함

  • 모델 상태 변화 시, controller와 view에 통보하면 view는 최신의 결과를 보여주고, controller는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있음

규칙

  1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  2. view나 controller에 대해서 어떠한 정보도 알지 말아야 한다.
  3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야만 한다.

View

사용자 interface 요소

  • 데이터 및 객체의 입력 및 출력을 담당; 레이아웃과 화면을 처리함

규칙

  1. model이 가지고 있는 정보를 따로 저장해서는 안된다.
  2. model이나 controller와 같이 다른 구성요소들을 몰라야 된다.
  3. 변경이 일어나면 변경통지에 대한 처리 방법을 구현해야만 한다.

Controller

명령을 model과 view로 라우팅함
; 사용자가 데이터를 클릭하고 수정하는 것에 대한 이벤트들을 처리하는 부분
; model과 view를 연결해주는 역할

규칙

  1. model이나 view에 대해서 알고 있어야 한다.
  2. model이나 view의 변경을 모니터링해야 한다.

예시 프레임워크 / 라이브러리

React, Angular JS, Python Django

profile
나아가는 OnlyOne 개발자

0개의 댓글