구현해야하는 쿼리 API에 대한 요구 사항이 매우 간단합니다.깨끗한 API 인터페이스를 설계하는 방법은 무엇입니까?
그래서, 나는 자료 구조를 조회해야하고, 클라이언트의 관점에서, 그것은처럼 :
이Select * where idValue=baseball and child.age<10 and child.city=Sydney
이제
(그리고 데이터베이스에 추가 다른 미래의 인수를 지원한다), 어떻게 (예를 들어, enum = idValue, age, city를 사용하여) 사용자에게 깨끗하고 우아하고 분명한 java 인수에서 이러한 형태의 쿼리를 실현할 수 있습니까?
내 생각 : Map<QUERY, VALUE>
이 효과가 있습니까? 그러나 나이를 어떻게 지정합니까? < 10 세 이상입니까?
내 클라이언트 인터페이스 :
List<Child> getChildern(x);
여기서 X = 위에서 언급 한 선택 쿼리.
참고 : How to Design a Good API and Why it Matters
은 Usecase : 나는 백엔드 데이터베이스 (임베디드 응용 프로그램) 나는 개발자에 대한 액세스를 제공 할 수 있습니다. 내 응용 프로그램은 데이터를 채 웁니다. 그러나 해당 데이터는 API 사용자가 쿼리 할 수 있어야합니다. 이제 데이타베이스는 데이타 객체를 저장하는 맞춤 방식을 가지고있는 버클리 db입니다.
귀하의 질문이 너무 일반적입니다. 어떤 데이터 구조입니까? 가장 중요한 것은 유스 케이스인가? – viktor
사용 사례가 업데이트되었습니다. – John