ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MVC 패턴?
    면접준비 2021. 7. 8. 23:37

    MVC 패턴은 디자인패턴중 하나

    디자인패턴?

    어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해 상황에 따라 간편하게 적용해서 쓸 수 있는 것일 정리하여 특정한 "규약"을 통해 쉽게 쓸 구 있는 형태로 만든 것.

    라이브러리나 프레임워크가 그에 따른 예이다.

    다시 말해 좀 더 쉽고 간편하게 편리하게 사용할 수 있게 만든 방법들이라고 생각해도 좋다.

    M : Model

    V : View

    C : Controller

    Controller를 조작해 Model을 통해 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View 를 제어해 사용자에게 전달한다. 

     

    Model(모델)

    애플리케이션의 정보, 데이터를 나타낸다. 데이터베이스, 처음의 정의하는 상수, 초기화값, 변수를 의미한다.

    모델 구현 규칙 

    1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
    2. 사용자가 뷰나 컨트롤러에 대해서 어떤 정보도 알지 못하게 해야 한다.
    3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다.

     

    View(뷰)

    input 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타낸다. 다시 말해 데이터 및 객체의 입력, 그리고 보여주는 출력을 담당한다. 데이터를 기반으로 사용자들이 볼 수 있는 화면이다.

    뷰 구현 규칙

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

     

    Controller(컨트롤러)

    데이터와 사용자인터페이스 요소들을 잇는 다리역할을 한다.

    사용자가 데이터를 클릭하고, 수정하는 것에 대한 "이벤트"들을 처리하는 부분을 의미한다.

    컨트롤러 구현 규칙

    1. 모델이나 뷰에 대해서 알고 있어야 한다.
    2. 모델이나 뷰의 변경을 모니터링 해야 한다.

     

     

    근데 왜 MVC패턴을 사용해야 할까

    이렇게 구분을 해서 만들면 각각 맡은바에 최선을 다 하게 할 수 있습니다.

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

     

    MVC패턴에는 Model1 방식과 Model2 방식이 존재한다.

    Model1

    사용자의 요청을 jsp에서 전부 다 처리한다. 웹 브라우저에서 사용자의 요청을 받은 jsp는 java bean이나 service class를 사용하여 웹브라우저가 요청한 작업을 처리하고 그 결과를 출력해준다.

     

    Model2

    모델 2 구조는 모델1 구조와 달리 웹브라우저 사용자의 요청을 서블릿이 받는다. 서블릿은 웹브라우저의 요청을 받아 View로 보내줄 것인지 Model로 보내줄 것인지 정하여 전송을 해준다. 여기서 View는 사용자에게 보여주는 역할만 담당하고 실질적인 기능의 부분은 Model에서 담당한다. 모델2 방식의 경우 실질적으로 보여지는 HTML과 JAVA 소스를 분리해 놓았기 때문에 모델1 방식에 비해 개발을 확장시키기 쉽고 유지보수하기도 쉽다.

    '면접준비' 카테고리의 다른 글

    자바에서 객체지향프로그래밍이란?  (0) 2021.07.07
    Servlet  (0) 2021.07.06
Designed by Tistory.