mvc 모델(패턴)이란?

Ji·2021년 2월 21일
0

MVC 패턴이란?

  • 모델-뷰-컨트롤러(Model–View–Controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.

간단히 정리하자면, 각각 MVC는 Model, View, Controller의 약자로 각각의 역할을 나누어서 코딩을 하는 모델(패턴)이다.

(출처: https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC )

MVC 각각의 역할

  • Model
    시스템의 비즈니스 로직을 담당한다.

  • View
    화면의 표시, 입력 등의 처리를 한다.
    모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다.

  • Controller
    유저의 입력에 근거하여 Model과 View를 제어한다.
    모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. (ex: 워드 프로세서에서 문서를 편집하는 것) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. (문서를 스크롤하는 것)

Contoller는 Model과 View의 제어만 담당한다. 따라서 코드의 비효율성을 방지하고, 코드의 양이 늘어나는 것을 방지할 수 있다. 또한 View는 단순 전달 받은 데이터의 값을 표시하는 것이 아닌, Model을 참조하여 Model 내 데이터 상태를 표시한다.

(출처: https://velog.io/@jojo_devstory/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B3%90-%ED%8C%A8%ED%84%B4-MVC%EA%B0%80-%EB%AD%98%EA%B9%8C)

MVC 모델의 장점

  1. 각 역할마다 분업해서 작업을 진행하기 편리하다.
  2. 한 영역에서 변경 및 수정이 있는 경우, 다른 영억에 영향을 끼치지 않는다.
  3. 구현하기 쉽고 단순함. 개발기간이 짧아짐

MVC 모델의 단점

  1. 모델과 뷰 사이의 의존성이 발생
  2. 뷰의 UI 갱신을 위해 모델을 직/간접적으로 참조 -> 앱이 커질수록 유지보수가 힘듦

Reference
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC

https://velog.io/@josworks27/MVC-%EB%AA%A8%EB%8D%B8-%EA%B0%9C%EB%85%90

https://velog.io/@jojo_devstory/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B3%90-%ED%8C%A8%ED%84%B4-MVC%EA%B0%80-%EB%AD%98%EA%B9%8C

profile
공부방

0개의 댓글