학교에서 Java를 공부 한 데에는 DAO 패턴 (Data access object)을 잘 알고 있습니다. 그러나 직장에서 나는 .NET을 사용한다. .NET에서는 종종 DAL (Data Access Layer)에 대해 이야기합니다. 나에게 그들의 목적은 꽤 비슷해 보인다. 그래서 질문은 DAO와 DAL은 기본적으로 같은 것입니까? DAL이라는 용어는 단지 Data Access Objects과 섞이지 않았습니까?DAO와 DAL의 차이점은 무엇입니까?
36
A
답변
57
DAL (데이터 액세스 계층)은 비즈니스 논리 계층과 지속성/저장 계층간에 존재하는 시스템 계층입니다. DAL은 단일 클래스이거나 여러 데이터 액세스 개체 (DAO)로 구성 될 수 있습니다. 비즈니스 레이어가 대화 할 수 있도록 상단에 파사드가있어 데이터 액세스 로직의 복잡성을 숨길 수 있습니다. Hibernate와 같은 써드 파티 객체 - 관계형 매핑 도구 (ORM) 일 수 있습니다.
DAL은 아키텍처 용어이며 DAO는 디자인 세부 사항입니다.
11
데이터 액세스 계층에는 많은 데이터 액세스 개체가 포함됩니다.
데이터베이스 논리와 구현에서 비즈니스 논리를 분리하는 것이 주된 역할입니다.
예를 들어 DAL에는 하나 이상의 데이터 액세스 개체를 통해 여러 테이블, 쿼리 또는 저장 프로 시저에서 데이터를 검색하는 단일 메서드가있을 수 있습니다.
데이터베이스 구조, DAO, 저장 프로 시저 또는 데이터베이스 형식을 변경해도 비즈니스 논리가 변경되어서는 안되며 DAL에서 제공하는 디커플링에 미치지 못합니다.
관련 문제
- 1. DAL의 모든 예외를 다른 예외로 catch
- 2. hibernate-generic-dao와 같은 의견 및 경험이 있으십니까?
- 3. 서블릿과 JDBC에서 DAO와 Spring으로 마이그레이션, 조언을 구 하시겠습니까?
- 4. Databinder.Eval과 Container.DataItem의 차이점은 무엇입니까?
- 5. static_cast와 Implicit_cast의 차이점은 무엇입니까?
- 6. NSNumber와 NSInteger의 차이점은 무엇입니까?
- 7. Phing과 PHPUnderControl의 차이점은 무엇입니까?
- 8. WPF와 WinForms의 차이점은 무엇입니까?
- 9. CreateWnd와 CreateWindowHandle의 차이점은 무엇입니까?
- 10. ImageMagick과 GraphicsMagick의 차이점은 무엇입니까?
- 11. Pingback과 Trackback의 차이점은 무엇입니까?
- 12. @property와 @synthesize의 차이점은 무엇입니까?
- 13. php.ini와 .htaccess의 차이점은 무엇입니까?
- 14. 메서드와 선택기의 차이점은 무엇입니까?
- 15. 탄소와 코코아의 차이점은 무엇입니까?
- 16. String.Intern과 String.IsInterned의 차이점은 무엇입니까?
- 17. Int32와 UInt32의 차이점은 무엇입니까?
- 18. Knockout.js와 Rx.js의 차이점은 무엇입니까?
- 19. Server.Transfer와 Response.Redirect의 차이점은 무엇입니까?
- 20. MSP430과 MSP430X의 차이점은 무엇입니까?
- 21. COM과 DCOM의 차이점은 무엇입니까?
- 22. DomainKeys와 DKIM의 차이점은 무엇입니까?
- 23. 추상화와 외관의 차이점은 무엇입니까?
- 24. 면도기와 ASPX의 차이점은 무엇입니까?
- 25. 이 코드의 차이점은 무엇입니까?
- 26. Setting.settings와 web.config의 차이점은 무엇입니까?
- 27. Framework.Triggers와 Style.Triggers의 차이점은 무엇입니까?
- 28. PHP와 표현의 차이점은 무엇입니까?
- 29. ListView와 GestureListView의 차이점은 무엇입니까?
- 30. NSKeyValueObservingOptionNew와 NSKeyValueObservingOptionOld의 차이점은 무엇입니까?
DAL을 데이터 추상화 레이어라고 생각했습니다. – davidsleeps