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

이영규님의 프로필 이미지
이영규

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

MVC 패턴에서 Model 의 정의

작성

·

326

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(http://bit.ly/3fX6ygx)을 먼저 확인해주세요.
3. 질문 잘하기 메뉴얼(http://bit.ly/2UfeqCG)을 먼저 읽어주세요.

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

안녕하세요 항상 강의 너무 잘 듣고 있습니다.
강의를 듣고 Servlet -JSP를 이용한 MVC 패턴에서
Controller = Servlet
View = JSP
Model = Request(Attribute)
라고 이해했는데요,
이 때 Controller 와 View 가 서로 Model(Attribute) 을 통해 데이터를 주고받는다고 이해했습니다.
그리고 이 Controller 를 좀 더 객체지향적으로 만들기 위해 Service 와 Repository로 레이어를 나누어 역할을 분리한다고 이해했는데요.
그런데 최근 후배에게 MVC 개념을 설명해주다가 이상한 걸 발견했습니다.
저희 회사 신입사원 교재에 MVC 패턴의 정의가 이렇게 나와있는 겁니다.
- Model : 비즈니스 로직(클라이언트 요청에 대한 업무 처리) 및 데이터 담당
>> 비즈니스 로직 = business service(biz) + data access object(dao)
이걸 보면 Service 와 Repository는 Model 에 해당하는 개념처럼 보입니다.
또한 해당 교재에서는 이처럼 비즈니스 로직을 Controller(Servlet)와 분리하는 것이 곧 MVC 패턴이라고 설명하고 있는데요,
제가 이해하는 "Controller(Servlet)와 View(Jsp) 를 분리하고 Model(Attribute)로 데이터를 전달하는 것이 곧 MVC 패턴이다" 라는 개념과 사뭇 다른 것 같습니다.
제가 뭔가 잘못 이해하고 있는 걸까요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 이영규님

Model이라는 의미가 문맥에 따라서 다르게 사용됩니다.

MVC에서 데이터를 View로 전달하는 Model이라는 의미도 있고,

비즈니스 모델을 다룬다는 의미도 있습니다.

각각 다르게 이해하시면 됩니다.

감사합니다.

이영규님의 프로필 이미지
이영규

작성한 질문수

질문하기