인프런 커뮤니티 질문&답변

zeroone님의 프로필 이미지
zeroone

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

mvc pattern과 웹 애플리케이션 계층 구조 비교에 관해

작성

·

326

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

zeroone님의 프로필 이미지
zeroone
질문자

웹 개발 입문자로서 강의에 많은 도움을 받고 있습니다. 좋은 강의와 자료 감사합니다.

zeroone님의 프로필 이미지
zeroone

작성한 질문수

질문하기