디자인 패턴 1

Yedam Lee·2022년 12월 28일
0

MVC 패턴

모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. User가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 됩니다.

MVC 패턴의 구조

출처: MVC - wikipedia

📂 모델 [Model]

모델(model)이란 어플리케이션에서 사용되는 데이터를 의미합니다.

모델 규칙

  • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 함
  • 뷰나 컨트롤러에 대해서 어떠한 정보도 알지 말아야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

🖥 뷰 [View]

뷰(View)란 사용자 인터페이스 요소를 나타냅니다. 다시 말해 데이터 및 객체의 입력, 그리고 보여주는 출력을 담당합니다.

뷰 규칙

  • 모델이 가지고 있는 정보를 따로 저장해서는 안됨
  • 모델이나 컨트롤러와 같이 다른 구성 요소를 몰라야 함
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함

🔑 컨트롤러 [Controller]

컨트롤러(Controller)란 데이터와 사용자인터페이스 요소들을 잇는 다리역할을 합니다. 모델에 명령을 보냄으로써 뷰의 상태를 변경할 수 있습니다.

컨트롤러 규칙

  • 모델이나 뷰에 대해서 알고 있어야 함
  • 모델이나 뷰의 변경을 모니터링해야 함

🏅 장점과 한계

장점
각 기능 단위 별로 나눠서 처리하기 때문에 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있습니다.
한계
뷰와 모델이 서로 의존성을 띄게 됩니다. 즉, Controller에 다수의 Model과 View가 복잡하게 연결되어 있는 상황이 발생할 수 도 있습니다.

profile
프론트엔드 개발자

0개의 댓글