인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김김님의 프로필 이미지
김김

작성한 질문수

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

회원 웹 기능 - 등록

domain, ~Controller, ~Form의 역할

해결된 질문

작성

·

144

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
새로운 개념(역할들)이 나오면서 제가 잘 이해하고 있는게 맞는지 의문이 들어 질문을 남기게 되었습니다.
 
domain : 비즈니스 객체
스키마와 비슷하다고 생각했는데, 스키마 자체는 아니고 프로그램 전반에서 쓰이는 데이터를 추상화한 비스니스 객체라고 이해했습니다. 지금의 프로젝트는 회원관리만 지원하지만, 만약 도서관서비스로 확장을 한다면 책에 관련된 새 도메인 객체가 필요하고 도메인 객체를 선언할 파일도 필요하다고 이해하고 있는데 맞을까요?
 
controller : 외부 요청을 관리
컨트롤러가 붙은 파일들은 스프링 컨테이너에서 제일 먼저 외부 요청을 확인한다고 이해했습니다.
HomeController와 Membercontroller가 나뉜 이유는 각각의 역할이 다르기 때문으로, 전자는 홈과 관련된 컨트롤러고, 회원가입은 Member 도메인 객체에 어떠한 로직과 역할이 뚜렷해서 따로 빠져있다고 이해했습니다.
 
~Form : 컨트롤러 -> html -> 태그의 속성값을 받아온 후에 처리
사실상 하는 역할은 도메인 객체와 비슷하다고 생각합니다... 다만 비즈니스 객체는 아니고, html태그를 통해 들어온 값을 스프링에서 사용할 수 있도록 해준 중간다리라고 이해했습니다. 각 파일이 최소한의 자기 역할만 하도록 설계되어 이렇게 파일들이 나뉘어져있다고 이해했는데, ~Form 파일이 controller 폴더에 있는 점은 아직 완전히 이해가 가진 않습니다..ㅠㅠ... 이 역시 외부에서 들어온 요청의 일부로 판단된 이유일까요?
 
추상적으로는 느낌적인 느낌으로 이해가 가지만 이게 제대로 이해를 하고 있는가에 대해선 자신이 없어 질문을 남겼습니다.
감사합니다!

답변 1

4

안녕하세요. 김김님, 공식 서포터즈 OMG입니다.

큰 그림으로는 잘 이해하신 것 같습니다.

<Form>

, html태그를 통해 들어온 값을 스프링에서 사용할 수 있도록 해준 중간다리

=> <input name=""> name속성에 해당하는 값과 매핑됩니다.

Form이라는 용어는 Web에 특화되어 사용됩니다.(Web계층)

아래 영한님의 설명 참고해주세요.

https://www.inflearn.com/questions/137265

지금처럼 큰 그림으로 이해하시고, 스프링핵심원리-기본편과, MVC1,2편을 학습하시면서 추상적인 이해를 구체적인 개념으로 학습하나가시길 권장드립니다.

감사합니다.

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

답변 감사합니다! 완강 후 말씀하신 강의 수강하겠습니다. 감사합니다 : )

김김님의 프로필 이미지
김김

작성한 질문수

질문하기