TIL 11 - MVC 패턴(Golang)

프동프동·2023년 2월 10일
0

TIL

목록 보기
12/46
post-thumbnail

MVC(Model, View, Controller)

애플리케이션을 구축하는데 “어떻게 나눌 것인가”에 대한 해답 중 하나로 사용되는 설계 패턴

  • 사용되게 된 이유
    • 동일한 파일에서 관리하였으나 효율적으로 관리하기 위함
      • 관리 및 디버깅이 용이함
  • 특징
    • 주로 웹 애플리케이션에서 사용

Model

  • 데이터에 관련된 내용
  • 데이터와 비즈니스 로직을 관리
    • 앱이 포함해야할 데이터가 무엇인지 정의
    • 데이터의 상태가 변경되면 뷰에게 알린다.
    • View, Cotroller에 대해서 어떤 정보도 알지 못해야한다.
    • 변경이 일어나면 변경에 대한 처리방법을 구현해야한다.
  • ex
    • 데이터베이스
    • 상수, 초기화값, 변수 등

View

  • 시각적인 내용
  • 레이아웃과 화면 처리
    • 사용자에게 보여지는 방식을 정의
    • 표시할 데이터를 모델로부터 받는다.
    • Model, Controller에 대해서 어떤 정보도 알지 못해야한다.
    • 변경이 일어나면 변경통지에 대한 처리방법을 구현해야한다.

Controller

  • Model과 VIew를 제어하는 내용
    • 앱의 사용자로부터 입력에 대한 응답으로 모델/뷰를 업데이트하는 로직
    • 모델이나 뷰의 변경을 모니터링 해야 한다.

예시

  • 쇼핑몰
      • 장바구니에 상품을 추가하거나 제거할 수 있게 해주는 추가/삭제 버튼이 있다.
      • 추가/삭제 버튼을 누른다
    • 모델
      • 데이터의 변경이 일어남을 확인하고 수정한다.
    • 컨트롤러
      • 데이터 변경에 따른 제어를 한 후 뷰에게 모델에서 가져온 업데이트된 데이터를 전송한다.

MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

profile
좋은 개발자가 되고싶은

0개의 댓글