본문 바로가기
Backend/JAVA

MVC (model view controller) 패턴

by YERIEL_염주둥 2020. 5. 13.
728x90

MVC

사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴

MVC에서 <모델>은 애플리케이션의 정보(데이터)를 나타내며, <뷰>는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, <컨트롤러>는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.

MVC 패턴 도표

  • 컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다.
    요청하는 url 기준으로 규칙적은 분기작업을 통해 관련있는 서비스를 호출한다.(사용자가 컨트롤러를 이용하여 몯ㄹ의 상태를 바꾼다)
  • 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다. 작동을 수행하는 코드라고 생각하며 ㄴ된다.
  • 는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다.

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

 

모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 모델, 뷰, 컨트롤러의 관계를 묘사하는 간단한 다이어그램. 주: 굵은 선은 직접적인 관계를, 점선은 간접적인 관계를 나타낸다(옵저버 패턴). 웹 애플리케이션��

ko.wikipedia.org

 

MVC의 장점

  • 코드가 간결하다.
  • 코드가 간결하기 때문에 유지보수가 용의하다.
  • 목적에 맞게 분기 시켜놨기 때문에 확장이 용의하다.

MVC의 단점

  • 초기 설정 작업이 MODEL1 보다 많아 작업시간이 오래 걸린다.
  • 분기에 대한 설계를 위해 아키텍처에 관련한 이해도가 필요한다.
  • 분기 되어 있어 관리할 파일이 많다.
반응형

'Backend > JAVA' 카테고리의 다른 글

MVC Servlet - controller 작성하기 -2  (0) 2020.05.13
MVC Servlet - controller 작성하기 - 1  (0) 2020.05.13
JAVA 인터페이스 interface  (0) 2020.04.29
JAVA instanceof 연산자  (0) 2020.04.29
JAVA equals( ) 메서드  (0) 2020.04.29

댓글