MVC 패턴

zioo·2022년 1월 2일
0

Backend

목록 보기
14/40

디자인 패턴

  • 디자인 패턴은 건축으로치면 공법에 해당하는 것으로 소프트웨어의 개발 방법을 공식화 한 것
  • 구현자들 간의 커뮤니케이션의 효율성을 높이는 기법
  • MVC는 디자인 패턴 중 하나

MVC

Model View Controller의 약자로 하나의 애플리케이션을 세가지의 역할로 구분한 개발 방법론

사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달

모델은 컨트롤러에 컨트롤러는 뷰에 뷰는 다시 유저에 유저는 다시 컨트롤러를 향해서

Model

  • 데이터 담당 (주로 데이터베이스 의미) / 데이터 처리
  • 데이터를 다루는 로직을 모델에 모아둬서 데이터와 뷰를 격리 시키는 것
  • 사용자의 질의(query)에 대해 상태 정보를 제공하거나 상태를 수정
  • 뷰나 컨트롤러에 대해서 어떤 정보도 알면 안됨
  • 코드 관리의 편의성을 높일 수 있음
  • 향후 데이터베이스 교체가 용이

View

  • 화면상에 출력되는 내용을 의미 (사용자가 보는 페이지)
  • UI와 관련된 코드
  • 클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너

Controller

  • Model과 View를 중간에서 제어
  • 사용자가 접근 한 URL에 따라 사용자의 요청사항을 파악
  • 요청에 맞는 데이터를 Model에 의뢰 / 데이터를 View에 반영해서 사용자에게 알려줌
  • 모델이나 뷰에 대해서 알고 있어야 함

MVC 패턴 장점

  • 하나의 역할만 담당 및 처리하므로 효율적이게 됨
  • 유지보수성, 애플리케이션의 확장성, 유연성 증가
  • 중복코딩이라는 문제점 또한 사라짐

유연성: 클라이언트의 새로운 요구사항에 대해 최소한의 비용으로 보다 유연하게 대처할 수 있는 것을 의미


ref
https://velog.io/@2cong/MVC
https://multifrontgarden.tistory.com/97

0개의 댓글