MVC 패턴

김지우·2022년 11월 14일
0

3주차

목록 보기
1/8
post-thumbnail

MVC 패턴

디자인패턴과 mvc패턴
디자인 패턴이란 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말합니다.

MVC패턴은 다자인 패턴중에 하나이며 Model, View, Controller의 약자 입니다.
controllers 에서는 함수를 분리해서 관리해 줍니다.

models 에서는 DB 생성을 관리해 줍니다.

view 에는 화면에 보여지는 파일들(html 파일)을 관리해주는 폴더입니다.


출처 : [디자인 패턴] 1. MVC 패턴



MVC 패턴의 장점

사용자가 보는 페이지, 데이터처리, 그리고 이 2가지를 중간에서 제어하는 컨트롤, 이 3가지로 구성되는 하나의 애플리케이션을 만들면 각각 맡은 바에만 집중을 할 수 있게 됩니다.

  • 유지보수성 증가
  • 애플리케이션의 확장성 증가
  • 유연성 증가
  • 종복되는 코드들을 하나로 묶어 다른 페이지에서도 재사용 가능


models, view, controllers 예시

models: 데이터와 비즈니스 로직을 관리합니다.
view: 레이아웃과 화면을 처리합니다.
controllers: 명령을 모델과 뷰 부분으로 라우팅합니다.

models

모델은 앱이 포함해야할 데이터가 무엇인지를 정의합니다. 데이터의 상태가 변경되면 모델을 일반적으로 뷰에게 알리며(따라서 필요한대로 화면을 변경할 수 있습니다) 가끔 컨트롤러에게 알리기도 합니다(업데이트된 뷰를 제거하기 위해 다른 로직이 필요한 경우).

예를 들어, 쇼핑 리스트 앱으로 돌아가서, 모델은 리스트 항목이 포함해야 하는 데이터 — 품목, 가격, 등. — 와 이미 존재하는 리스트 항목이 무엇인지를 지정합니다.

view

뷰는 앱의 데이터를 보여주는 방식을 정의합니다.

예를 들어, 쇼핑 리스트 앱에서, 뷰는 항목이 사용자에게 보여지는 방식을 정의하며, 표시할 데이터를 모델로부터 받습니다.

controllers

컨트롤러는 앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함합니다.

예를 들어, 쇼핑 리스트는 항목을 추가하거나 제거할 수 있게 해주는 입력 폼과 버튼을 갖습니다. 이러한 액션들은 모델이 업데이트되는 것이므로 입력이 컨트롤러에게 전송되고, 모델을 적당하게 처리한다음, 업데이트된 데이터를 뷰로 전송합니다.

단순히 데이터를 다른 형태로 나타내기 위해 뷰를 업데이트하고 싶을 수도 있습니다(예를 들면, 항목을 알파벳순서로 정렬한다거나, 가격이 낮은 순서 또는 높은 순서로 정렬). 이런 경우에 컨트롤러는 모델을 업데이트할 필요 없이 바로 처리할 수 있습니다.

출처 : MVC모델

profile
백엔드 성장 기록

0개의 댓글