Post

02 Data and Object Patterns

02 Data and Object Patterns

1. 데이터 전달 / 저장 객체

종류역할 / 특징Servlet 환경Spring 환경
VO (Value Object)읽기 중심, DB 데이터 값 객체DB 조회 후 HttpServletRequest에 담아 전달DB 조회 후 Model/DTO로 전달 가능
DTO (Data Transfer Object)계층 간 데이터 전달, 읽기/쓰기 가능요청 파라미터 묶음, JSP로 전달Controller ↔ Service ↔ Repository 사이 전달
EntityDB 테이블과 1:1 매핑, ORM 관리 대상JDBC 직접 접근 시 사용 빈도 낮음JPA/Hibernate @Entity, 영속성 관리
JavaBeangetter/setter, 기본 생성자, 재사용 객체 규약HttpSession, JSP EL에서 활용ModelAttribute, Form 객체 등
Form / Command Object사용자 입력 데이터 수집요청 파라미터 수집용@ModelAttribute, Form 객체로 바인딩

2. 데이터 접근/비즈니스 객체

종류역할 / 특징Servlet 환경Spring 환경
DAO (Data Access Object)DB CRUD 처리, SQL 실행JDBC 직접 사용, Connection/PreparedStatement 관리Repository로 대체, JPA/Hibernate 사용
RepositoryDAO 역할 + ORM 지원, SQL/객체 매핑거의 없음Spring Data JPA, MyBatis Mapper
BO (Business Object)비즈니스 로직 담당, 트랜잭션 처리 가능Service 객체로 구현 가능Service 계층에서 비즈니스 로직 처리
ServiceController와 Repository 사이, 트랜잭션 관리Servlet에서 직접 로직 처리 가능@Service로 계층화, 트랜잭션 관리

3. 기타 객체/패턴

종류역할 / 특징Servlet 환경Spring 환경
Mapper객체 ↔ DB 매핑, SQL 정의MyBatis 사용 시MyBatis Mapper 인터페이스
Singleton애플리케이션 단일 객체 유지Application Scope 객체Spring Bean Scope 싱글톤
Builder / Factory생성 책임 분리, 가독성 향상객체 생성 패턴복잡한 DTO/VO/Entity 생성 시
This post is licensed under CC BY 4.0 by the author.