MVC pattern

romini·2024년 5월 13일

MVC pattern(Model-View-Controller)

  • 유지보수가 편해지는 코드 구성 방식디렉토리 구조
  • 소프트웨어를 설계하고 구현하는 데 사용되는 디자인 패턴
  • 응용 프로그램을 세 가지 주요 구성 요소로 분할하여 개발을 단순화하고 유지 보수성을 향상시킨다.
  • 각 구성 요소는 역할에 따라 분리되어 있으며, 서로 간섭 없이 독립적으로 작동한다.

M(Model) : 데이터

  • 모델은 응용 프로그램의 데이터 및 비즈니스 로직을 나타낸다.
  • 데이터베이스에서 데이터를 가져오거나 업데이트하고, 데이터의 유효성을 검사하거나 데이터를 가공하는 등의 작업을 처리
  • 모델은 주로 데이터베이스와 직접 상호 작용하며, 데이터베이스 스키마에 대한 정의와 일치하는 형태로 데이터를 표현

V(View) : 사용자에게 보여지는 부분, 클라이언트

  • 뷰는 사용자 인터페이스(UI)를 나타낸다.
  • 사용자가 데이터를 시각적으로 볼 수 있도록 모델의 데이터를 표시
  • HTML, CSS, JavaScript 등의 웹 기술을 사용하여 웹 응용 프로그램에서 UI를 구현하거나, 모바일 앱에서 UI를 구성

C(Controller) : Model과 View를 이어주는 부분

  • 컨트롤러는 모델과 뷰 간의 상호 작용을 관리하고 제어
  • 사용자의 입력을 처리하고, 그에 따라 모델을 업데이트하거나 뷰를 갱신
  • 요청을 받아서 적절한 모델 메소드를 호출하고, 그 결과를 바탕으로 적절한 뷰를 선택하여 렌더링

MVC의 5가지 원칙

  1. Model은 Conroller와 View에 의존하지 않아야 한다.
    (Model내부에 Controller와 View에 관련된 코드가 있으면 안된다.)

  2. View는 Model에만 의존해야 하고, Controller에 의존하면 안된다.
    (View내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안된다.)

  3. View가 Model로 부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.

  4. Controller는 Model과 View에 의존해도 된다.
    (Controller 내부에는 Model과 View의 코드가 있을 수 있다.)

  5. View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.

[참고] https://www.youtube.com/watch?v=ogaXW6KPc8I

0개의 댓글