2012-07-09 3 views
1

가장 좋은 점은 클래스 연결과 관련하여 DAO 클래스를 구성하는 방법입니다.DAO 클래스 구성

예를 들면. Customer 테이블과 Order Table이 있고 고객과 관련된 주문에 액세스하려는 경우 (예 : getCustomerOrder (int customerid, int orderid)) 메소드를 보유 할 수있는 가장 좋은 장소는 어디입니까?

고객 등급? 클래스를 주문 하시겠습니까? CustomerOrder 클래스?

답변

0

에서 피벗 또는 테이블의 좋은 예를 들어,이 링크를 좋아합니다. 고객 클래스, 주문 클래스 및 CustomerOrder 클래스는 모두 비즈니스 도메인에 대한 클래스입니다. getCustomerOrder (int customerid, int orderid) 메소드는 데이터를 유지하는 방법에 관한 것입니다. 많은 다른 이유로 (예 : SoC, SRP, 등 ... 등) 나는 그것을 유지하고자하는 곳으로 데이터를 지속시키는 것을 다루는 수업을 들었습니다. 하나의 옵션은 DBPersistenceSystem 또는 이와 유사한 것일 수 있습니다. getCustomerOrder (int customerid, int orderid) 또는 getCustomer (int customerid) 또는 getOrder (int orderid)의 코드가 매우 유사하기 때문에 이는 또한 도움이됩니다. 모든 클래스를 같은 클래스 나 클래스 집합에 포함 시키면 더 나은 디자인으로 끝납니다.

0
  • CustomerOrder 클래스 (중간에있는 테이블)를 사용하는 것처럼 보입니다.
  • 고객과 주문 간의 관계는 C * .. * O} (다 대다)입니다.
  • 런타임시 클래스 매개 변수에 필요한 값이 Customer 클래스와 Order 클래스의 범위 내에 있어야하므로 getCustomerOrder(int cusomerid, int orderid)을이 클래스에 넣는 것이 좋습니다.
  • CustomerOrder가 중간에있는 테이블 인 경우 관련 테이블 스키마의 참조 무결성에 제약 조건이 있어야이 용도를 적용 할 수 있습니다.

나는 내가 실제로 그 중 어느 것도 사용하지 거라고 중간

pivot table