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 |