2009-08-20 8 views
0

iBatis를 사용하여 Category 클래스 카테고리에 매핑 된 테이블 카테고리가 있습니다. 이 클래스를 JavaBean으로 사용해야합니까? 제품 빈에는이 카테고리의 제품 수와 같은 다른 속성이 있어야합니다. 이러한 속성은 도메인 클래스 카테고리의 일부가 아닙니다. Category를 Bean 클래스로 사용한다면 여전히 관련이 있습니까? 이 경우 CategoryBean과 같은 래퍼 클래스를 제공하는 것이 더 좋습니까? 코드의 복잡성이 증가할까요?ibatis 도메인 클래스를 javabean으로 사용해야합니까?

답변

1

이 토론에는 여러 측면이 있습니다 (논쟁의 여지가 있습니다).

첫째, Java 소프트웨어 개발 서클에서 소프트웨어의 계층화가 필요하다는 전반적인 관점이 있습니다. 이것은 종종 도메인 객체를 꺼내서 프리젠 테이션 객체로 변환하는 것을 의미합니다. 그것은 더 멀리 나아갈 수 있고 중간에 서비스 객체들과 다른 것들을 가질 수 있습니다.

이것은 흔히 의심스러운 이익을 위해 상용구를 많이 복사하는 결과를 낳습니다.

스스로에게 묻는 질문은 다음과 같습니다. Ibatis에서 나오는 개체가 프레젠테이션에 적합합니까? 아니면, 예를 들어 테이블 당 하나의 클래스를 가지고 있다는 점에서 일반적입니까?

가벼운 Java 애플리케이션은 Ibatis가 뷰 계층에 필요한 정확한 정보를 리턴 한 쿼리를 실행 한 다음 먼 거리까지 전달할 수있는 접근 방식을 선택할 권리가 있습니다. 이제는 대규모 응용 프로그램에 확장 성 문제가 있습니다. 수백 또는 수천 가지의 것들로 끝날 수 있으므로 이러한 상황에서는 다른 접근법이 필요할 수 있습니다. 그런 다음 다시 그런 상황에서 수천 개의 프레젠테이션 개체로 끝나야 할 것입니다. 폴에게 지불 할 피터를 강탈 했어?

개인적으로 Ibatis에서 테이블 당 1 클래스 접근법을 사용하지 않습니다. 그것은 힘이 아닙니다. 그것은 Hibernate와 JPA의 힘입니다. Ibatis의 강점은 모든 SQL 쿼리가 (SQL이기 때문에) 쉽게 모든 것을 끌어낼 수 있다는 것입니다. 그것이 당신을 위해 문제를 만들지 않는 한 그것을 사용하십시오.

관련 문제