Tasarım Modelleri - Kompozit Varlık Modeli

Kompozit Varlık deseni, EJB kalıcılık mekanizmasında kullanılır. Kompozit varlık, nesnelerin bir grafiğini temsil eden bir EJB varlık fasulyesidir. Bir kompozit varlık güncellendiğinde, dahili olarak bağımlı nesneler çekirdekleri, EJB varlık bean tarafından yönetildiği için otomatik olarak güncellenir. Kompozit Varlık Fasulyesi katılımcıları aşağıdadır.

  • Composite Entity- Birincil varlık fasulyesidir. Kalıcılık amacıyla kullanılmak üzere kaba taneli olabilir veya iri taneli bir nesne içerebilir.

  • Coarse-Grained Object- Bu nesne bağımlı nesneler içerir. Kendi yaşam döngüsüne sahiptir ve ayrıca bağımlı nesnelerin yaşam döngüsünü yönetir.

  • Dependent Object - Bağımlı nesne, kalıcılık yaşam döngüsü için kaba taneli nesneye bağlı olan bir nesnedir.

  • Strategies - Stratejiler, bir Kompozit Varlığın nasıl uygulanacağını temsil eder.

Uygulama

CompositeEntity olarak hareket eden CompositeEntity nesnesi oluşturacağız . CoarseGrainedObject , bağımlı nesneleri içeren bir sınıf olacaktır. CompositeEntityPatternDemo , demo sınıfımız , Composite Entity modelinin kullanımını göstermek için Client sınıfını kullanacaktır.

Aşama 1

Bağımlı Nesneler Oluşturun.

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;
   }
}

Adım 2

Kaba Taneli Nesne Oluşturun.

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()};
   }
}

Aşama 3

Kompozit Varlık Oluşturun.

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. adım

Kompozit Varlık kullanmak için İstemci sınıfı oluşturun.

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);
   }
}

Adım 5

Kompozit Varlık tasarım modeli kullanımını göstermek için İstemciyi kullanın .

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. Adım

Çıkışı doğrulayın.

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