Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Kim ByeungHyun

[CS지식] MVC패턴이란? 본문

카테고리 없음

[CS지식] MVC패턴이란?

sandbackend 2023. 1. 1. 23:46

mvc패턴은 디자인 패턴중 하나로, 디자인 패턴부터 설명하자면 프로그램이나 어떤 특정한 것을 정리하여 규약을 통해 쉽게 쓸 수 있는 형태로 만든것.

좀더 쉽고 편리하게 사용할 수 있게 만든 특정한 방법들을 디자인 패턴이라고 함. 스트래티지 패턴, 옵저버 패턴 등등 여러가지가 있고 그 중 하나가 MVC패턴.

 

MVC

  • Model, Vie, Contoller의 약자. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다.
  • Contoller를 조작하면 controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 view를 제어해서 사용자에게 전달하게 된다.

모델, Model

  • 애플리케이션의 정보, 데이터를 나타낸다. 데이터베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻한다. 또한 이러한 Data, 정보들의 가공을 책임지는 컴포넌트를 말한다.
  • 규칙 :
  1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  2. 뷰나 컨토롤러에 대해서 어떤 정보도 알지 말아야 한다.
  3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다.

뷰, View

  • input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타냅니다. 데이터 및 객체의 입력, 보여주는 출력을 담당
  • 규칙 :
  1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.
  2. 모델이나 컨트롤러와 같이 다른 구성 요소들을 몰라야 한다.
  3. 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야만 한다.

컨트롤러, Controller

  • 데이터와 사용자 인터페이스 요소들을 잇는 다리역할을 한다. 즉, 사용자가 데이터를 클릭하고, 수정하는 것에 대한 이벤트들을 처리하는 부분
  • 규칙 :
  1. 모델이나 뷰에 대해서 알고 있어야 한다.
  2. 모델이나 뷰의 변경을 모니터링 해야 한다.

왜 사용해야 할까?

  • 서로 분리되어 각자의 역할에 집중 할 수 있게끔하여 개발을 하고 그렇게 어플리케이션을 만든다면, 유지보수성, 애플리케이션의 확장성, 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라지게 된다.

 

면접질문

  1. mvc패턴의 사용 이유?
  • 서로 분리되어 각자의 역할에 집중할 수 있도록 개발을 하기 위해서 입니다. 이렇게 하면 유지보수와 확장성, 유연성이 증가합니다. 또한 중복코딩 문제도 사라지게됩니다.
  1. Spring MVC 란?
  • Spring MVC는 Model, View, Controller의 개념을 따릅니다.
  1. Spring MVC의 프론트 컨트롤러 클래스를 설명하십시오
  • 프론트 컨트롤러는 애플리케이션의 전체 수신 요청을 처리합니다. Spring MVC에서 디스패처 서블릿은 프론트 컨트롤러 역할을하며 들어오는 전체 요청을 처리합니다.