query object 데이터를 채운 후에 쿼리를 실행하는 개체 (메서드 매개 변수로 채워진 쿼리 개체)가 있거나 개체가 쿼리를 자체적으로 실행해야합니까?쿼리 개체가 쿼리를 단독으로 실행합니까?
답변
실제 질문은 다음과 같습니다. 데이터 소스를 쿼리 (및 열거 가능)하는 방법에 대한 책임은 쿼리 개체에 속합니까?
답변은 여러 프레임 워크/솔루션간에 변경 될 수 있지만 적어도 쿼리 개체는 원하는 데이터의 사양을 나타내야합니다. 그것이 주요 책임입니다.
사용할 수있는 데이터 API를 통해 DB를 다루는 방법을 알지 못한다. 대신 사용되는 백업 저장소에 쿼리 개체를 매핑하는 방법을 이해하는 서비스/구성 요소가 활용해야한다.
이 방법을 사용하면 동일한 쿼리 개체로 다른 데이터 소스를 활용할 수있을뿐 아니라 클라이언트가 쿼리 사양 개체를 만들어 서버에 전달할 수 있습니다 (매개 변수가 많은 서버 방법보다 더 나은 솔루션 일 수 있음).
(원시 SQL에서 Hibernate로) 데이터 액세스 메커니즘을 변경 한 경우 쿼리 개체를 변경하면이 방식으로 변경해야합니다 (잠재적으로 많은 다른 쿼리 개체가있을 수 있음) - 매핑 작업을 담당하는 개체 실제 쿼리에 대한 쿼리 개체를 변경해야합니다
다른 사람이 쿼리를 실행해야합니다.
SRP을 위반하지 않으면 검색어가 검색어 사양과 검색어 실행을 모두 캡슐화하고 있습니다.
예를 들어 LINQ-to-SQL에서 어떻게 수행되었는지 생각해보십시오. LINQ-to-SQL에서 식 트리를 쿼리 사양으로 생각할 수 있으며 식 트리를 해석하고이를 SQL로 변환하는 것은 LINQ-to-SQL 공급자의 몫입니다.
여기에 있어야합니다. 쿼리 개체에서도 쿼리를 실행하면 쿼리 사양을 쿼리를 실행중인 위치와 연결합니다. 오히려 조회 오브젝트가 다른 A 텍스트 (데이터베이스 조회, 메모리 내 콜렉션 조회 등)에서 재사용 될 수 있도록 분리되어야합니다. 다시 말하지만, 이것이 LINQ에있는 방법입니다. 표현식 트리는 LINQ-to-SQL, LINQ- 개체 및 LINQ-to-XML에서 변경없이 사용할 수 있습니다.
- 1. MongoDB에서이 쿼리를 어떻게 실행합니까?
- 2. IQueryable은 언제 쿼리를 실행합니까?
- 3. Visual Studio에서 임의의 SQLite 쿼리를 어떻게 실행합니까?
- 4. Rails에서 DB 연결시 쿼리를 어떻게 실행합니까?
- 5. VC++에서이 WMI 쿼리를 어떻게 실행합니까?
- 6. Linq-to-SQL은 언제 쿼리를 실행합니까?
- 7. 다른 데이터베이스에서 SQL 쿼리를 어떻게 동적으로 실행합니까?
- 8. PHP 클래스를 사용하여 이처럼 mysql 쿼리를 실행합니까?
- 9. DbDataReader가 단독으로 종료됩니까?
- 10. 시계열 데이터에서 "5 일 이내"와 같은 쿼리를 어떻게 실행합니까?
- 11. 테이블에 실제 데이터를 복제하거나 ID를 참조하고 두 개의 쿼리 또는 더 복잡한 쿼리를 실행합니까?
- 12. 내가 다음 쿼리를 제한 쿼리
- 13. MYSQL 하위 쿼리를 사용하여 쿼리
- 14. SQL 쿼리 내가이 SQL 쿼리를
- 15. PHP는 mysql 쿼리를 쿼리 : D
- 16. PHP MySQL은 하나의 연결에서 두 개의 쿼리를 실행합니까?
- 17. 명령 줄에서 mysql을 통해 단일 쿼리를 어떻게 실행합니까?
- 18. 어떻게하면 Joomla 구성 요소의 레이아웃 내부에서 SQL 쿼리를 실행합니까
- 19. SQLite C#에서 한 번에 여러 쿼리를 실행합니까?
- 20. 링크드리스트를 단독으로 되 돌리시겠습니까? // 괴짜 : 다른 사이트에
- 21. iText를 단독으로 사용하거나 BIRT로 모두 나가기
- 22. 그래프가 단독으로 연결되어 있는지 여부를 확인하십시오.
- 23. 개체가 아닌 개체에서 함수를 호출하지만 개체가 $ this 즉 자신입니까?
- 24. SQL 쿼리를 LINQ to SQL 쿼리
- 25. SCCM에서 SQL 쿼리를 사용하여 소프트웨어 쿼리
- 26. mySQL : 일대 다 쿼리를 쿼리 하시겠습니까?
- 27. 모든 쿼리 또는 삭제 쿼리를 삭제
- 28. 동적 쿼리 Linq에 내가 쿼리를 작성하려는 VB.NET
- 29. MySQL - 다른 쿼리를 기반으로 한 쿼리
- 30. 내가 형식의 쿼리를 실행하려는 여러 삽입 쿼리
나는 비슷한 생각했다.하지만 Ayendes 기사는 나를 혼란스럽게했다. http://ayende.com/Blog/archive/2007/03/29/Query-Objects-vs.-Methods- On-The-Repository.aspx 그는 그의 쿼리 개체에서 find 메서드를 사용하고 있습니다. – user137348