728x90
반응형
질문 : DAO와 리포지토리 패턴의 차이점은 무엇입니까?
데이터 액세스 개체 (DAO)와 리포지토리 패턴의 차이점은 무엇입니까? 저는 EJB3 (Enterprise Java Beans), Hibernate ORM을 인프라로, DDD (Domain-Driven Design) 및 TDD (Test-Driven Development)를 설계 기술로 사용하여 애플리케이션을 개발하고 있습니다.
답변
DAO
는 데이터 지속성 의 추상화입니다.Repository
는 개체 모음의 추상화입니다.
DAO
는 데이터베이스에 더 가깝고 종종 테이블 중심으로 간주됩니다.Repository
는 도메인에 더 가까운 것으로 간주되어 집계 루트 만 처리합니다.
Repository
DAO
사용하여 구현할 수 있지만 그 반대는 할 수 없습니다.
또한 Repository
는 일반적으로 더 좁은 인터페이스입니다. Get(id)
, Find(ISpecification)
, Add(Entity)
가진 단순히 개체의 컬렉션이어야합니다.
같은 방법 Update
A의 적절한 DAO
아니지만 Repository
- 사용하는 경우 Repository
, 일반적으로 별도의 UnitOfWork에 의해 추적 될 엔티티로 변경됩니다.
실제로 DAO
Repository
라는 구현을 보는 것은 일반적으로 보이므로 차이점에 대해 약간의 혼란이 있다고 생각합니다.
출처 : https://stackoverflow.com/questions/8550124/what-is-the-difference-between-dao-and-repository-patterns
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
Node.js에서 사용하지 않는 패키지를 제거하거나 정리하는 npm 명령 (0) | 2021.10.14 |
---|---|
REST URI 규칙-리소스를 만드는 동안 리소스의 단수 또는 복수 이름 (0) | 2021.10.13 |
PowerShell에서 문자열이 null인지 비어 있는지 확인하는 방법 (0) | 2021.10.08 |
Grunt, NPM 및 Bower의 차이점 (package.json vs bower.json) (0) | 2021.10.08 |
함수 설계 f (f (n)) == -n (0) | 2021.10.08 |