[Study] MVC 패턴

조혜인·2022년 7월 18일
0
post-thumbnail

MVC 패턴구조는 디자인 패턴 중 하나로써 Model View Controller이다.

총 3가지의 컴포넌트(Model, View, Controller)로 구성되어 있으며 각각 고유한 역할을 수행한다.

📌 MVC 패턴구조

사용자가 controller를 조작하면 controller는 model을 통하여 데이터를 가져오고 해당 정보를 바탕으로 시각적인 표현을 담당하는 view를 제어하여 사용자에게 전달한다.

Model

  • Data 컴포넌트. 데이터베이스 정보들의 가공을 담당한다.
  • 다음과 같은 규칙을 따른다.
    • 사용자 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
    • View나 Controller에 대해서 어떤 정보도 알지 말아야 한다.
    • 변경이 일어나면, 변경 통지에 대한 처리 방법을 구현해야한다.

View

  • 사용자에게 보여지는 부분이다. 쉽게 말해, HTML과 같이 화면을 표시해주는 유저 인터페이스이다.
  • 다음과 같은 규칙을 따른다.
    • Model이 가지고 있는 정보를 따로 저장해서는 안된다.
    • Model이나 Controller와 같이 다른 구성요소들을 몰라야 된다.
    • 변경이 일어날 경우 변경통지에 대한 처리방법을 구현해야 한다.

💡 예전에는 View에 product.html 처럼 UI를 만들어서 프론트로 넘겨줬지만 요즘은 이렇게 하지 않는다고 한다.


Controller

  • Model과 View를 이어주는 다리 역할이다. 사용자에 의한 이벤트들을 처리하는 부분이다.
  • 다음과 같은 규칙을 따른다.
    • 모델이 가지고 있는 정보를 따로 저장해서는 안된다.
    • 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야된다.
    • 변경이 일어나면 변경통지에 대한 처리방법을 구현해야 한다.

📌 MVC 패턴을 사용하는 이유

  • 유지보수의 편리성 때문이다. MVC패턴은 초기구조가 만들어져있어 어떤 회사를 가더라도 같은 폴더 구조에서 작업할 수 있다. 설계 대비 변경이 필요하거나 초기 담당자의 부재가 일어나더라도 구조만 안다면 쉽게 유지보수를 할 수 있다.

  • 각 컴포넌트는 자신에게 주어진 일을 수행한 후 수행 결과만 타 컴포넌트로 넘겨주기 때문에 시스템 결합도를 낮출 수 있다.


📌 참고

profile
코딩은 역시 재밌군

0개의 댓글