문제

다음 방법이있는 데이터 클래스가 있습니다.

  • executeUdiquery (문자열 쿼리)
  • executeElectQuery (문자열 쿼리)
  • executesp (String anme, String [,] params)

데이터 클래스를 사용하는 수업이 많이 있습니다. 이제 클래스 다이어그램을 만들고 싶지만 클래스가 데이터 클래스와 어떤 관계가 있는지 모르겠습니다. 복합물입니까? 1 : 1 또는 ..?

데이터 클래스를 사용하는 클래스의 예는 직원 클래스입니다. 이 클래스에는 메소드로드 ()가있어 직원의 ID가있는 직원 객체를로드합니다. 이 메소드에는 데이터 클래스의 executeElectQuery (String Query) 메소드로 전달되는 쿼리가 포함되어 있습니다.

편집 : 데이터 클래스는 정적이 아닙니다. 그러나 나는 의심의 여지가 있습니다. 나는 실제로 무엇을 해야할지 모른다. 요점은, 그것이하는 유일한 일은 쿼리를 실행하고 결과를 반환하는 것입니다.

도움이 되었습니까?

해결책

나는 그것을 제안 할 것이다 용법 의존성 관계.

보다 여기 간단한 설명을 위해.

다른 팁

나는 당신의 수업의 이름을 쿼리 할 것입니다. 클래스 이름은 일반적으로 단수 명사 여야합니다. 예제;

  • 창문
  • 사람
  • 거래

데이터는 복수이며 어쨌든 데이터베이스 여야한다고 생각합니다.

직원들도 마찬가지로 - 다시 한 번 복수형으로, 나는 그것이 MemberofStaff 여야한다고 생각합니다. 물론 직원 목록이 아니라면, 문제 도메인이 나타내는 부서, 프로젝트 또는 부서와 같은 부서장이라고 부릅니다.

당신은 수업에 좋은 이름을 올리는 것이 매우 어렵다는 것을 알게 될 것입니다. 그러나 노력의 가치가 있습니다.

응집, 복합재 및 1 개의 관계 1의 관계의 차이는 약간 모호하고 다소 임의적입니다.

한 클래스가 다른 클래스를 소유 한 경우 (수명주기를 담당합니다.

다른 모든 경우에 1 개의 관계를 사용합니다.

클래스는 클래스를 사용하는 클래스에 의해 인스턴스화됩니까, 아니면 방법이 정적입니까? 그들이 정적 인 경우 나는 이것을 자격이없는 종속성으로 표현할 것입니다 (데이터 클래스를 사용하는 클래스에서 데이터 클래스로 가리키는 점선 화살표).

데이터 클래스를 사용하는 클래스가 해당 클래스의 개인 인스턴스를 작성하는 경우 1 : 1 구성입니다 (데이터 클래스 인스턴스의 Lifcycle이 사용중인 객체에 묶여 있다고 가정).

나는 당신의 전반적인 디자인에 대해 언급하지 않을 수 없으며,이 클래스가 데이터 클래스에 직접 의존하지 않도록 직원 클래스에서로드 메소드를 옮기려고 노력할 것입니다.

기존 디자인의 범위 내에서 다음을 제안합니다. 스태프 클래스에 데이터 클래스의 인스턴스 변수가 포함되어 있으면 연관입니다. 데이터 클래스가 인스턴스를 검색하기 위해 인스턴스화되면 @ToolKit과 같이 주어진 유형의 종속성 일뿐입니다.

데이터가 충분하지 않습니다.

수업 윤곽이나 무언가를 제공하십시오. 내가 볼 수있는 바에 따르면, 나는 이것을 실제로 데이터 클래스라고 불렀을 것입니다 (데이터처럼 보입니다. 액세서) 그 소리가 들립니다 ~할 것 같다 싱글 톤 (많은 : 1, 집계 또는 연관)이되거나 Instanced가 1 : 1 구성 요소가됩니다.

이제 클래스 다이어그램을 만들고 싶지만 클래스가 데이터 클래스와 어떤 관계가 있는지 모르겠습니다.

우리는 또한 데이터 클래스 만 설명했으며 직원이 사용하는 데이터를 어떻게 얻는 지 말하지 않습니다.

직원이 데이터 클래스의 하나 이상의 인스턴스를 보유하고 있다면 직원과 데이터 사이에 연관성이 있거나 직원이 유형 데이터의 속성을 가지고 있습니다 (데이터에 가치 의미가있는 경우).

데이터 인스턴스가 여러 직원 인스턴스에 의해 참조되고 해당 라이프 사이클이 직원 인스턴스에 의해 참조되는 데 의존하는 경우 이는 집계 관계로 표시 될 수 있습니다. 데이터 인스턴스가 직원 인스턴스간에 공유되지 않고 해당 라이프 사이클이 참조되는 데 의존하는 경우, 이는 구성 관계로 표시 될 수 있습니다.

X가 사용하는 데이터 인스턴스를 유지하지 않으면 사용 관계가 적절합니다.

의존성과 사용은 가장 약한 두 종류의 "커넥터"입니다. 관계를 개선하기 위해 고정 관념, 키워드를 고려할 수 있습니다. 스테레오 타입 작업을 인스턴스화하고, 전화하고, 만들고, 보내는 것을 알 수 있습니다. 더 많은 정보가 없으면 정답이 사용되는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top