디자인 패턴-복합 엔티티 패턴

복합 엔티티 패턴은 EJB 지속성 메커니즘에서 사용됩니다. 복합 엔티티는 객체의 그래프를 나타내는 EJB 엔티티 빈입니다. 컴포지트 엔티티가 업데이트되면 내부적으로 종속 된 오브젝트 Bean이 EJB 엔티티 Bean이 관리하는 것처럼 자동으로 업데이트됩니다. 다음은 Composite Entity Bean의 참가자입니다.

  • Composite Entity-기본 엔티티 빈입니다. 거친 입자이거나 지속성 목적으로 사용되는 거친 입자를 포함 할 수 있습니다.

  • Coarse-Grained Object-이 개체에는 종속 개체가 포함되어 있습니다. 자체 수명주기가 있으며 종속 개체의 수명 주기도 관리합니다.

  • Dependent Object -종속 개체는 지속성 수명주기 동안 거친 개체에 의존하는 개체입니다.

  • Strategies -전략은 복합 엔티티를 구현하는 방법을 나타냅니다.

이행

CompositeEntity 역할을하는 CompositeEntity 객체 를 생성 할 것 입니다. CoarseGrainedObject 는 종속 객체를 포함하는 클래스입니다. CompositeEntityPatternDemo , 데모 클래스는 Client 클래스를 사용하여 Composite Entity 패턴의 사용을 보여줍니다.

1 단계

종속 개체를 만듭니다.

DependentObject1.java

public class DependentObject1 {
	
   private String data;

   public void setData(String data){
      this.data = data; 
   } 

   public String getData(){
      return data;
   }
}

DependentObject2.java

public class DependentObject2 {
	
   private String data;

   public void setData(String data){
      this.data = data; 
   } 

   public String getData(){
      return data;
   }
}

2 단계

거친 입자 개체를 만듭니다.

CoarseGrainedObject.java

public class CoarseGrainedObject {
   DependentObject1 do1 = new DependentObject1();
   DependentObject2 do2 = new DependentObject2();

   public void setData(String data1, String data2){
      do1.setData(data1);
      do2.setData(data2);
   }

   public String[] getData(){
      return new String[] {do1.getData(),do2.getData()};
   }
}

3 단계

복합 엔티티를 생성합니다.

CompositeEntity.java

public class CompositeEntity {
   private CoarseGrainedObject cgo = new CoarseGrainedObject();

   public void setData(String data1, String data2){
      cgo.setData(data1, data2);
   }

   public String[] getData(){
      return cgo.getData();
   }
}

4 단계

Composite Entity를 사용하기위한 Client 클래스를 생성합니다.

Client.java

public class Client {
   private CompositeEntity compositeEntity = new CompositeEntity();

   public void printData(){
   
      for (int i = 0; i < compositeEntity.getData().length; i++) {
         System.out.println("Data: " + compositeEntity.getData()[i]);
      }
   }

   public void setData(String data1, String data2){
      compositeEntity.setData(data1, data2);
   }
}

5 단계

클라이언트 를 사용하여 복합 엔티티 디자인 패턴 사용을 시연합니다.

CompositeEntityPatternDemo.java

public class CompositeEntityPatternDemo {
   public static void main(String[] args) {
   
       Client client = new Client();
       client.setData("Test", "Data");
       client.printData();
       client.setData("Second Test", "Data1");
       client.printData();
   }
}

6 단계

출력을 확인하십시오.

Data: Test
Data: Data
Data: Second Test
Data: Data1