MVC(model(1,2) ,Spring MVC)✍

sjms321·2021년 1월 26일
0

MVC란 model view controller 의 앞글자 만을 따서 만든 웹 프로그래밍 설계 모델이다.


Why MVC?

사용자가 보는 view, model, 둘을 관리하는 controller, 이렇게 3가지의 구성으로 되는 하나의 어플리케이션을 만들면 각각 맡은바에만 집중 할 수 있게 된다.
->처리가 효율적이며 유지 보수가 쉬움.
어플리케이션의 확장성 유연성이 증가 중복코딩이라는 문제점이 사라진다.

유연성: 클라이언트의 새로운 요구사항에 대해 최소한의 비용으로 보다 유연하게 대처 가능.

패턴은 결국 어떻게 나눌 것인가의 해답 중 하나이다.

1. 기본적인 구성요소

  • model: DB와 상호작용하며 비즈니스 로직을 처리하는 모듈. 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트

  • view: 사용자에게 화면을 보여주기 위해 모델의 데이터를 전달받아 사용자가 읽을 수 있도록 결과 화면을 반환하는 모듈.

  • controller : client(사용자)의 요청이 들어왔을 때 그 입력을 처리하고 어떤 로직을 실행시킬 것인지 제어하는 모듈.


2. model 1 vs model 2

model 1

JSP파일 안에 view와 controller가 모두 들어가있다
-> 한 파일에 java,html,각종 태그 가 모두 공존.
장점: html안에 java와 각종 태그를 전부 넣다보니 개발이 빠름.

단점: 유지보수 어려움.
가독성 좋지않음.
-> 유지보수시,개발자의 스트레스를 증가.


model 2

  • 클라이언트의 요청을 컨트롤러 역할을 수행하는 서블릿이 받고 처리결과를 뷰역할의 JSP로 보여준다.
  • 유지보수가 쉬움
  • 구조설계를 위한 개발 시간 추가
    Client가 Server(was)에게 request하는것은 같은 처음에 컨트롤러가 받고 요청을 여서 서비스중 하나 어떤서비스를 사용할까 시킬까 결정 하는 것

    서비스를 따로 만들기 떄문에 기능이 많을 수록 다양한 서비스를 모듈화 시킬 수 있다.
    DB접근을 위해 dao를 만든다. model객체를 이용해서 DB와 통신한다.
    데이터를 가져와서 컨트롤러에게 넘겨준다.
    model2는 철저하게 분리된 시스템을 기본으로 한다.
    때문에 유지보수가 수훨하다. 대부분의 웹은 model2를 따른다. spring mvc또한 model2를 기반으로 하고있다.
profile
언제나 왜 Why?

관심 있을 만한 포스트

0개의 댓글