JSP에서는 스크립틀릿을 사용하기 시작했다가 해당 방식을 점차 없애기 위해 MODEL Ⅰ 이 나오고 그 안에서 Action Tag, EL TAG, JSTL 을 사용해 주었다.
하지만 해당 방법도 무언갈 하나 처리할 때마다 그걸 처리해서 넘겨주는 페이지가 계속해서 추가되다 보니 다른 방식을 고안하며 새로운 모델을 만들게 되는데 그게 바로 MODEL Ⅱ MVC 패턴 이다.
자바에서 가장 많이 사용하지만, 너무 잘 만들어진 모델이어서 다른 프로그래밍 언어에서도 언어에 맞춰 일부 변형해 사용한다.
✅ 디자인 패턴 정의
→ 설계에 경험이 없는 사람도 설계를 할 줄 알아야 하기 때문에 디자인 패턴을 맞춰둔 것이다. (문서화)
✅ 패턴 사용 시 주의 사항
→ 프로그램 규모가 작을 때에는 패턴을 적용하지 않아도 된다. (강아지 집을 만들 때 설계를 하지 않고, 아파트를 건설할 때 설계를 하는 것처럼)
패턴의 틀에 갇힌 사고방식은 효율성이 낮은 프로그램을 만들게 되기 때문에 패턴을 사용한다는 것 보다는 차용 한다는 생각으로 사용해주면 좋다.
MVC는 Model View Controller 의 약자로 애플리케이션을 세 가지 역할로 구분한다.
위 역할을 우리 일상 속 상황으로 예시를 들어보자면 아래와 같은 예시가 있을 수 있다.
고객이 작업 요청 메일을 보낸다. (VIEW)
▼
김 팀장이 요청 메일을 받아 누구에게 시킬까 고민하다가 박대리에게 일을 시킨다. (CONTROLLER)
▼
박대리가 받은 일을 처리해서 김 팀장에게 결과를 보고한다. (MODEL)
▼
김팀장은 결과를 확인해 작업 처리 완료 메일을 쓴다. (CONTROLLER)
▼
고객이 해당 메일을 확인한다. (VIEW)
정리
VIEW : 요청과 결과를 받는
CONTROLLER : 요청을 받아서 전달하고 결과를 전달 하는
MODEL : 요청을 처리하는
MVC 패턴을 사용하면 JSP 보다 페이지를 덜 만들고 깔끔한 구성을 할 수 있다.