MVC 패턴

사용자의 뷰페이지(View)와 데이터 혹은 비즈니스로직(Model) 그리고 이들 상호간의 흐름제어(Contoller)하는 비즈니스 로직을 분리하여 서로간의 영향없이 모듈을 재사용, 확장 가능한 구조적 패턴. View와 Model을 분리하여 데이터처리 로직이 중복되는 것을 막고, 로직과 Model을 재사용하는데 의의를 둠.
 어플리케이션의 흐름제어나 사용자의 요청처리는 Controller에서 집중처리.


Model = 비즈니스 영역의 상태 정보를 처리.

View = 비즈니스 영역에 대한 뷰를 담당.

Control = 사용자의 입력 및 흐름제어를 담당.



모델1 방식과 MVC패턴의 비교 및 처리절차.

<모델1 방식>


<MVC 방식>


모델1 방식과 MVC방식의 가장 큰 차이점은 컨트롤러 역할을 JSP가 아니라 Servlet에서 한다는 것이다. 모델1방식은 JSP에서 VIEW역할과 Controller역할을 같이 하기 때문에 view코드와 controller코드가 같이 있기때문에 복잡하며 , 로직이 중복되는 문제가 발생함. 이에 반해 MVC 방식은 MVC 각각의 역할이 나


MVC패턴의 문제점 및 대안방안

MVC패턴의 문제점

VIEW와 MODEL 간의 의존성을 완벽히 분리할 수 없는데다 패턴의 모호함때문에 해석이 제각각 달라지며 여러가지 변형이 생김. 

대안방안

MVP(Model,View Interface, Presenter) 패턴에서는 View와 Model의 완벽한 분리가 이루어짐. - MVP에 대해서는 추후 다시 정리.

[출처] http://lefigaro.tistory.com/39


'CS > 디자인패턴' 카테고리의 다른 글

컴포지트 패턴(Composite Pattern)  (0) 2017.03.21

+ Recent posts