복습
controller는 모듈화된 페이지와 연관은 없다
view와 컨트롤러는 종속성이 없다 결합력이 낮아졌다
어떤 프레임워크를 쓸지는 view layer와 연관이 있다
유지보수에서 결합력이 낮은게 좋다 (응집력은 높이고)
Model2 MVC패턴 5layer
- 레이어드(계층형) 아키텍쳐
- N-tier 이상이어야 어플리케이션을 만들 수 있다.
1.Control layer
Controller - 서블릿
- 요청 받는 곳
- service에서 받은 information을 scope에 담아서 jsp에 전달
- Controller에서 지원하는 프레임 워크 Spring
Model
- 리소스를 만들어낸다
- (ex) DB에 있는 생일 DATA로 나이라는 information 만들어서 내보냄
- service, DAO, VO
2. persistence layer
- DAO
- DB에 있는 회원정보는 날것 'raw데이터'를 DB를 통해 가져와서 service로 전달
- DAO에서는 DB에서 보낸 '결과집합'을
받아와서 VO(도메인 레이어) 에 담아서 자바객체로 만든다.
- 요 영역 프레임워크는 ibatis
3. business logic layer
- service
- DAO에서 받은 raw데이터로 contents 가공해서 서블릿으로 전달
- 단일책임
- 고유한 기능 logic을 갖고있다
- 비지니스 로직을 단독으로 지원하는 프레임워크는 없다. 또한 미리 만들어 놓을 수 없어서 이영역 프레임워크는 없다.
4. Domain layer
-VO
- 한사람이 갖고 있는 고유의 정보
- 요 영역을 지원하는 프레임워크 롬복
5.Presentation layer
View -jsp
- Composite View패턴 (tiles)
- UI 만들어짐
promise pattern
then 성공
catch 실패