시작은 언제라도

Model2 MVC Pattern 본문

Web programming/Patterns

Model2 MVC Pattern

row_a_boat 2021. 4. 20. 10:25

Model2 설계방식의 근간을 이루는 설계패턴이 MVC이다.

Model2 or MVC or Web MVC 라고한다.

 

 - Model : 주기술은 Java Beans ( Java Component ) 

  비즈니스 로직과 데이터 액세스 로직을 담당 (비 데 로직을 담당) 

 

  - View : 주기술은 JSP 

    클라이언트에 응답하는 화면 (or 데이터)를 제공 , 웹문서를 동적으로 생성

 

  - Controller : 주기술은 Servlet

                웹 어플리케이션 제어자의 역할

                클라이언트의 요청(request)을 분석 , 요구사항에 의거해 Model 과 연동 

  적절한 이동방식으로 View를 선택하여 

  클라이언트에게 응답하게 한다 

  Model 과 View를 전체적으로 제어하는 역할을 한다   (model과 view를 제어)

 

- was>web container>web application>(view,model,controller)


 

 

  • 기존 Model2 MVC

Client1- >Servlet1

Client2- >Servlet2

Client3- >Servlet3

 

 

  • MVC + Front Controller Pattern

client1 - >Front Controller Servlet(handleRequest()) -> Controller1 : (handleRequest() 내부에 메서드 존재해서 if 문으로 보내줌)

client2- >Front Controller Servlet(handleRequest()) -> Controller2

 

 

  • MVC + Front Controller Pattern + Command

client1 - >Front Controller Servlet(handleRequest())  -> <<Interface>> Controller(execute())  --> Controller1

client2 - >Front Controller Servlet(handleRequest())  -> <<Interface>> Controller(execute()) --> Controller2

 

: Front Controller Servlet의 handleRequest() 내부의 c.execute()를 통해 모든 개별 Controller의 동작을 제어.

 

 

  • MVC + Front Controller Pattern + Command + Simple Factory 

client1 - >Front Controller Servlet(handleRequest())  -> HandlerMapping- > <<Interface>> Controller(execute())  --> Controller1

client2 - >Front Controller Servlet(handleRequest())  -> HandlerMapping -> <<Interface>> Controller(execute()) --> Controller2

 

 FrontControllerServlet, HandlerMapping, Controller interfaces는 기존에 만들어져 있는 것을 가져다 쓰되, 개별 컨트롤러 로직들을 관리해 준다.

'Web programming > Patterns' 카테고리의 다른 글

OMM  (0) 2022.06.15
Command Design Pattern  (0) 2021.04.18
3. FrontControllerServlet ex3  (0) 2021.04.18
2. FrontControllerServlet ex2  (0) 2021.04.18
1. FrontControllerServlet ex1  (0) 2021.04.18