본문 바로가기

Programming/JAVA

MVC Design Pattern

 MVC라는 것이 무엇인가??

처음에 막상 이런 단어를 보면 그냥 막막하다;;; 어떤 웹 애플리게이션을 개발하는데 있어서 디자인 패턴이 필요하다???

나로서는 디자인은 미대 학생들이나 찾는 단어인 줄 알았는데;;;

먼저 핵심부터 이야기해 보자면 MVC는 비즈니스 로직과 프리젠테이션 로직을 분리하겠다는 것입니다.;;;-_-;;;;

그럼 여기서 바로 의문하나;;; 비즈니스 로직과 프리젠테이션 로직이 머냐는 거죠;;; 이것 또한 처음 듣기는 마찬가지.....

먼저 프리젠테이션 로직은 단어에서도 알 수 있듯이 보여준다는 거죠.... 누구에게?? 바로 사용자에게!!

그럼 반대로 비즈니스 로직은 무엇일까?? 저는 나름대로 추측해보길... "그럼 사용자의 눈에 보여질 필요가 없는것??? " 라고 할 수 있죠 ㅎㅎ


보통 이 두개의 로직이 분리되게끔 소프트웨어를 개발하는 것을 상당히 중요한 문제라고 합니다.

그럼 MVC는 무엇이냐?? 먼저 각각의 원래 단어를 보면~

M -> Model  

V -> View

C -> Controller

 위와 같은 단어로 풀이가 됩니다. ㅎㅎ

이 구조를 실제 제가 아는 자바에 매핑시켜보면~

M -> 평범한 자바 클래스 : 여기서 평범한이란 데이터베이스에 접근하여 정보를 수정하거나 입력하거나 혹은 삭제하거나 하는 그런 평범한 클래스를 말합니다.

V -> JSP라고 할 수 있죠!! : 여기서 뷰는 사용자가 입력한 정보를 컨트롤러에게 넘겨주거나 요청한 정보를 출력해주는 역할을 합니다.

C -> 마지막으로 컨트롤러!! 이것은 바로 Servlet입니다. : 앞 글에서 컨테이너에게 서블릿은 request와 reponse 객체를 넘겨받는다고 했는데요. 여기서 사용자가 요청한 정보를 담고 있는 request객체에서 정보를 뽑아내어 모델에게 어떤 작업이 필요한지에 대해 알려 줍니다.

사용자 삽입 이미지

위의 그림이 MVC를 간략히 보여주는데요~ 보시면 View와 Model이 서블릿을 통해서만 정보를 교환하는 것을 볼 수 있습니다.

이 글은 스프링노트에서 작성되었습니다.