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

Jaesang Yoon님의 프로필 이미지
Jaesang Yoon

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Bean Validation - groups

용어가 모호해서 질문드립니다 (Model 객체, Form 객체, Domain 객체, Command 객체)

작성

·

231

·

수정됨

0

강의 중 강사께서 Model 객체, Form 객체, Domain 객체, Command 객체를 혼재해서 사용하시는 것 같은데 실제로 같은 대상을 지칭해서 그런가요?

답변 1

1

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

안녕하세요. Jaesang Yoon님

각각의 대상은 다음과 같은 구분이 있습니다.

Model 객체: 일반적으로 MVC (Model-View-Controller) 패턴에서의 Model을 의미합니다. 이는 데이터와 비즈니스 로직, 그리고 데이터 처리 규칙을 담당합니다. 웹 애플리케이션에서 Model 객체는 데이터베이스의 데이터를 표현하거나, 사용자의 요청에 따라 데이터를 처리하는 역할을 합니다.

Form 객체: 사용자의 입력을 받기 위한 객체입니다. 웹 폼에 입력된 데이터를 서버 측에서 받아오는 데 사용되며, 이 데이터는 주로 유효성 검사 후 비즈니스 로직에 사용됩니다. Form 객체는 사용자 입력에 특화된 데이터 구조를 가지며, 이는 Model 객체와는 다를 수 있습니다.

Domain 객체: 도메인 모델을 나타내는 객체입니다. 이는 비즈니스의 핵심 로직과 규칙을 구현하며, 데이터베이스의 테이블 구조와 일치하는 경우가 많습니다. 도메인 객체는 비즈니스 문제를 해결하기 위한 데이터와 메서드를 포함합니다.

Command 객체: 사용자의 요청을 캡슐화한 객체로, 주로 사용자의 행동이나 명령을 표현합니다. 이는 사용자의 요청을 처리하기 위해 필요한 모든 정보를 포함하며, 종종 Form 객체와 비슷한 구조를 가질 수 있습니다. 우베 애플리케이션에서 Form 객체와 Command 객체의 용어는 혼용됩니다.

그런데 애플리케이션 구조가 매우 단순할 때는 Domain 객체를 Form, Command 객체로도 함께 사용하는 경우가 있습니다.

감사합니다.

Jaesang Yoon님의 프로필 이미지
Jaesang Yoon

작성한 질문수

질문하기