MVC 패턴

최장범·2023년 10월 18일
0

TIL

목록 보기
45/50

디자인패턴이란?

  • 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 해결할것인가에 대한 솔루션 같은것
  • 자주 발생했던 문제들을 정리하고 모아서 그런 상황마다 특정규약을 통해 간편적용 하여 쓸수 있게 정리한 형태로 만든것
  • 사용 이유?
    - 더 쉽고 편리하게 사용하기 위한 방법들

MVC란?

  • Model View Controller 의 약자

  • Model
    -프로그램의 정보, 데이터를 나타낸다
    -정보들의 가공을 책임지는 컴포넌트
    • 규칙
      • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야한다.
      • 데이터에 변경이 일어나면 변경사항을 발신해야한다.(변경 통지에 대한 처리방법을 구현해야한다.)
      • 모델이 직접 뷰나 컨트롤러를 참조 수정하게 되면 안된다.
  • View
    -사용자에게 표시되는 UI같은 시각적 정보를 말한다.
    -출력을 담당함.
    • 규칙
      • 모델이 가지고 있는 정보를 따로 저장해서는 안된다.(그저 표시만 해주면 된다.)
      • 자신을 제외한 모델이나 컨트롤러의 구성요소를 몰라야 된다. (어떻게 동작하는지 알아서는 안된다.)
      • 변경이 일어나면 발신해야한다.(통지에 대한 처리방법을 구현해야한다.)
  • Controller
    -데이터와 UI같은 인터페이스를 잇는 다리역할
    -사용자로부터 받은 입력을 처리해 모델과 뷰를 제어한다.
    • 규칙
      • 모델이나 뷰에 대해서 알고 있어야한다.
      • 모델이나 뷰의 변경 통지를 받으면 각각의 구성요소에게 통지를 해줘야 한다.
      • 메인 로직은 컨트롤러에 구현되어있다.

MVC 패턴을 사용하는 이유

  • 서로 분리되어 각각의 역할에만 집중을 할 수 가있다.
  • 그로인해, 유지보수성, 확장성, 유연성등이 증가하고, 중복코딩의 문제또한 해결할 수 있다.

한 줄 생각

  • 디자인 패턴에 대해 공부하면서, 다음 프로젝트는 꼭 MVC 패턴을 적용해서 시도 해봐야겠다는 생각을 하게된다.

0개의 댓글