펭귄집

전공서적/코드로 배우는 Spring 웹 프로젝트 +2

모델2에서 Front Controller패턴으로


Front Controller 적용원인

1. 각 컨트롤러 사이의 중복적인 코드의 문제

2. 개발자의 개발패턴의 차이

=> 이로인해 모델2방식은 좀 더 강제적인 형태인 Front Controller방식을 적용


Front Controller패턴의 가장 중요한 변화는 전체 로직의 일부만을 컨트롤러가 처리하도록 변경 == '위임' (Delegation)

전체로직의 일부를 컨트롤러에게 위임하고 모든 흐름의 제어는 앞쪽의 Fornt Controller가 담당
-> 이런 구조를 사용하게 될 경우
     1. 개발자가 작성하는 컨트롤러는 전체 로직의 일부분만을 처리 => 개발자가 작성해야 하는 전체코드가 줄어듬
     2. 모든 컨트롤러는 Front Controller의 일부분을 구현한느 형태이므로, 좀 더 규격화된 코드 구현 가능




<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>

'전공서적 > 코드로 배우는 Spring 웹 프로젝트' 카테고리의 다른 글

모델2패턴의 이해  (0) 2017.10.24

델2패턴의 이해


스프링 MVC는 모델2방식 구조르 이요하기 때문에 이론적으로 모델2방식에 대한 이해가 필요하다


최근의 모든 웹 개발은 거의 모델2방식을 사용한다.


모델2방식은 흔히 MVC구조를 응용하는 것이라고 생각하는데 가장중요한것 

 -> 화면과 데이터 처리를 분해해서 재사용이 가능하도록 하는 구조


모델2구조에서는 다음과 같은 용어들이 사용된다

 모델(Model)

데이터 혹은 데이터를 처리하는 영역을 의미한다 

뷰(View) 

결과 하면을 만들어 내는 데 사용하는 자원이다 

컨트롤러(Controller) 

웹의 요청(request)을 처리하는 존재로 뷰와 모델사이의 중간 통신 역할을 한다   


컨트롤러는 모델계층과 연동해서 필요한 데이터를 처리하고, 결과를 뷰로 전송하게 된다.


모델2에서 모든 요청은 기본적으로 컨트롤러를 호출한다.
각 컨트롤러는 자신을 호출하는 특정한 URL경로를 가지고 있다.


  모델2방식의 장점

 개발자와 웹 퍼블리셔의 영역을 분리할 수 있다 

 컨트롤러의 URL을 통해서 뷰를 제어하기 때문에, 뷰의 교체나 변경과 같은 유지보스에 유용 




<참고문헌 : 코드로 배우는 Spring 웹 프로젝트>