MVC라는 것이 무엇인가??
처음에 막상 이런 단어를 보면 그냥 막막하다;;; 어떤 웹 애플리게이션을 개발하는데 있어서 디자인 패턴이 필요하다???
나로서는 디자인은 미대 학생들이나 찾는 단어인 줄 알았는데;;;
먼저 핵심부터 이야기해 보자면 MVC는 비즈니스 로직과 프리젠테이션 로직을 분리하겠다는 것입니다.;;;-_-;;;;
그럼 여기서 바로 의문하나;;; 비즈니스 로직과 프리젠테이션 로직이 머냐는 거죠;;; 이것 또한 처음 듣기는 마찬가지.....
먼저 프리젠테이션 로직은 단어에서도 알 수 있듯이 보여준다는 거죠.... 누구에게?? 바로 사용자에게!!
그럼 반대로 비즈니스 로직은 무엇일까?? 저는 나름대로 추측해보길... "그럼 사용자의 눈에 보여질 필요가 없는것??? " 라고 할 수 있죠 ㅎㅎ
보통 이 두개의 로직이 분리되게끔 소프트웨어를 개발하는 것을 상당히 중요한 문제라고 합니다.
그럼 MVC는 무엇이냐?? 먼저 각각의 원래 단어를 보면~
M -> Model
V -> View
C -> Controller
위와 같은 단어로 풀이가 됩니다. ㅎㅎ
이 구조를 실제 제가 아는 자바에 매핑시켜보면~
M -> 평범한 자바 클래스 : 여기서 평범한이란 데이터베이스에 접근하여 정보를 수정하거나 입력하거나 혹은 삭제하거나 하는 그런 평범한 클래스를 말합니다.
V -> JSP라고 할 수 있죠!! : 여기서 뷰는 사용자가 입력한 정보를 컨트롤러에게 넘겨주거나 요청한 정보를 출력해주는 역할을 합니다.
C -> 마지막으로 컨트롤러!! 이것은 바로 Servlet입니다. : 앞 글에서 컨테이너에게 서블릿은 request와 reponse 객체를 넘겨받는다고 했는데요. 여기서 사용자가 요청한 정보를 담고 있는 request객체에서 정보를 뽑아내어 모델에게 어떤 작업이 필요한지에 대해 알려 줍니다.
위의 그림이 MVC를 간략히 보여주는데요~ 보시면 View와 Model이 서블릿을 통해서만 정보를 교환하는 것을 볼 수 있습니다.
이 글은 스프링노트에서 작성되었습니다.