작성
·
332
0
1.mvc pattern과 강의에서 구현하는 웹 애플리케이션 계층 구조(service, controller, domain, repository) 비교
1.1 mvc pattern 과 웹 애플리케이션 계층 구조 1대 1 대응이 가능한건가요??
1.2 가능하다면, mvc에서 model은 계층구조의 {service, domain, repository}로 대응된다고 봐야하나요?
1.3 가능하지 않다면, model은 그냥 Controller의 매개변수로 들어가는 Model class 의 객체인 model로 보면되는건가요??
답변 3
3
안녕하세요. 장원일님
web mvc pattern에서 이야기하는 모델은 단순히 View에 넘겨주는 데이터를 Model로 보시는게 맞습니다.
스프링에서 model.addAttribute()로 담은 그 데이터가 바로 model입니다.
그리고 웹 애플리케이션 계층 구조와 1:1로 대응되는 것은 좋은 설계가 아닙니다.
왜냐하면 서비스, 도메인, 리포지토리를 다양한 곳에서 재사용되는 것이 좋으니까요^^
예를 들어서 고객화면과 관리자 화면에서 각각 주문내역을 조회해야 하면, 1:1 구조를 만들면 다음과 같이 됩니다.
UserOrderController -> UserOrderService -> UserOrderRepository
AdminOrderController -> AdminOrderService -> AdminOrderRepository
이렇게 설계하면 중복이 많이 발생하겠지요? 이런 것을 연통배관 패턴이라 합니다.
다음 자료를 보시면 도움이 되실꺼에요^^ https://www.slideshare.net/gyumee/ss-55616001
감사합니다.
1
1