Latest web development tutorials

구성 엔티티 모드

EJB를 지속성 메커니즘에 사용되는 엔티티 모드 조합 (복합 엔티티 패턴). 결합 된 개체는 그래픽 객체를 대신하여 EJB 엔티티 빈입니다. 결합 된 개체를 업데이트 할 때 그들은 EJB 엔티티 빈에 의해 관리되기 때문에, 내부 자동으로 종속 객체 콩을 업데이트합니다. 다음은 참가자 조성물 엔티티 빈이다.

  • 구성 엔티티 (복합 엔티티) - 주요 엔티티 빈입니다.그것은 거친 될 수있다, 또는 연속 라이프 사이클에 대한 대단위 객체를 포함 할 수있다.
  • 결이 거친 물체 (거친 그레인 개체) - 개체는 개체가 포함되어 있습니다.그것은 자신의 라이프 사이클을 갖고, 또한 종속 개체의 수명을 관리.
  • 종속 개체 (종속 개체) - 종속 객체는 라이프 사이클이 계속 대단위 개체 개체에 따라 달라집니다 것입니다.
  • 전략 (전략) - 전략 개체의 조합을 구현하는 방법을 나타냅니다.

실현

우리는 결합 기업CompositeEntity 개체로만듭니다.CoarseGrainedObject는종속 객체 클래스가 포함되어 있습니다.

CompositeEntityPatternDemo는클라이언트 클래스를 사용하는 우리의 데모 클래스 물리 모델의 조합의 사용을 입증한다.

구성 개체 UML 다이어그램 모드

1 단계

종속 개체를 만듭니다.

DependentObject1.java

공용 클래스 DependentObject1 {
	
   개인 문자열 데이터;

   공공 무효 사항 setData (String 데이터) {
      this.data = 데이터; 
   } 

   공공 문자열 GetData의 () {
      데이터를 반환;
   }
}

DependentObject2.java

공용 클래스 DependentObject2 {
	
   개인 문자열 데이터;

   공공 무효 사항 setData (String 데이터) {
      this.data = 데이터; 
   } 

   공공 문자열 GetData의 () {
      데이터를 반환;
   }
}

2 단계

거친 정제 된 객체를 생성합니다.

CoarseGrainedObject.java

공용 클래스 CoarseGrainedObject {
   DependentObject1의 DO1 = 새로운 DependentObject1 ();
   DependentObject2의 DO2 = 새로운 DependentObject2 ();

   공공 무효 사항 setData (문자열 데이터 1, 문자열 데이터 2) {
      do1.setData (DATA1);
      do2.setData (데이터 2);
   }

   공공 문자열 [] GetData의 () {
      반환 새로운 String [] {do1.getData (), do2.getData ()};
   }
}

3 단계

개체의 조합을 만듭니다.

CompositeEntity.java

공용 클래스 CompositeEntity {
   개인 CoarseGrainedObject의 CGO = 새로운 CoarseGrainedObject ();

   공공 무효 사항 setData (문자열 데이터 1, 문자열 데이터 2) {
      cgo.setData (DATA1, DATA2);
   }

   공공 문자열 [] GetData의 () {
      () cgo.getData를 반환;
   }
}

4 단계

고체 클라이언트 클래스의 조합을 사용하여 만들었다.

Client.java

공용 클래스 클라이언트 {
   개인 CompositeEntity compositeEntity = 새로운 CompositeEntity ();

   공공 무효 printData () {
      ()에 i가 0 ;. 내가 compositeEntity.getData를 (<= 길이를 int로, 내가 ++) {
         에서 System.out.println ( "데이터 :"+ compositeEntity.getData () [I]);
      }
   }

   공공 무효 사항 setData (문자열 데이터 1, 문자열 데이터 2) {
      compositeEntity.setData (DATA1, DATA2);
   }
}

5 단계

물리적 디자인 패턴의 조합의 사용을 설명하기위한클라이언트를사용.

CompositeEntityPatternDemo.java

공용 클래스 CompositeEntityPatternDemo {
   공공 정적 무효 메인 (문자열 []에 args) {
       클라이언트 클라이언트 = 새로운 클라이언트 ();
       client.setData ( "테스트", "데이터");
       client.printData ();
       client.setData ( "두 번째 테스트", "데이터 1");
       client.printData ();
   }
}

6 단계

출력을 확인합니다.

데이터 : 테스트
데이터 : 데이터
데이터 : 두 번째 테스트
데이터 : 데이터 1