2014-06-09 5 views
1

쿼리 및 엔티티 모델의 표현이 같은 클래스로 표시되는 API가 있습니다. 간체 버전 :Java에서 OOP로 CQRS 구현

class Model { 
    private Long id; 
    private Double a; 
    private Double b; 
    ... 
} 

문제는 이러한 속성이 함께 쿼리 개체로 사용되지 않는다는 것입니다. id은 모두 필요하지 않으며 a, b은 독점적입니다. 코드를 분리하지 않으면 이해하기 어렵습니다. 내 계획에는 각 키 유형에 대해 AB이라는 별도의 쿼리 클래스를 만드는 것이 포함됩니다.

instanceof (모든 쿼리 유형에 대한 지식이 있다고 가정하는 모든 코드)을 사용하지 않으려면 어떻게해야합니까? 나는 쿼리 개체에서 모든 크로스 커팅 문제를 구현해야합니다. 예를 들어, 실제 SQL 쿼리의 일부로 WHERE 절로 매핑합니다.

구현에 대한 암시 적 종속성을 피하기 위해 초기 계획은 각 POJO A 및을 확장하고 거기에 세부 정보를 구현하는 서버 측 클래스를 만드는 것입니다. 이를 수행하려면 A에서 sqlQuery() 작업을 구현하는 다른 클래스로 매핑하는 추가 매핑 레이어가 필요합니다.

질문 :이 문제는 충분히 복잡해 보이므로 이런 종류의 문제에 대한 표준 접근법이 있습니까? 참조, 패턴 환영.

+0

좀 더 구체적인 예를 제공 할 수 있습니까? a와 b는 실제로 귀하의 도메인에서 두 배입니까? – Sudarshan

답변