Corak Entiti Gabungan


Corak Entiti Komposit digunakan dalam mekanisme kegigihan EJB. Entiti komposit ialah kacang entiti EJB yang mewakili perwakilan objek. Apabila entiti komposit dikemas kini, kacang objek bergantung dalaman dikemas kini secara automatik kerana ia diuruskan oleh kacang entiti EJB. Berikut ialah peserta kacang entiti komposit.

  • Entiti Komposit - Ia adalah kacang entiti utama. Ia boleh berbutir kasar, atau ia boleh mengandungi objek berbutir kasar untuk seumur hidup yang berterusan.

  • Objek Berbutir Kasar - Objek ini mengandungi objek sebelumnya. Ia mempunyai kitaran hayatnya sendiri dan juga boleh menguruskan kitaran hayat objek bergantung.

  • Objek Bergantung - Objek bersandar ialah objek yang kitaran hayat berterusannya bergantung pada objek berbutir kasar.

  • Strategi - Strategi mewakili cara melaksanakan gabungan entiti.

Pelaksanaan

Kami akan mencipta objek CompositeEntity yang merupakan entiti komposit. CoarseGrainedObject ialah kelas yang mengandungi objek bergantung.

CompositeEntityPatternDemo, kelas demo kami menggunakan kelas Client untuk menunjukkan penggunaan corak entiti komposit.

compositeentity_pattern_uml_diagram.jpg

Langkah 1

Buat objek bergantung.

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

Langkah 2

Buat kasar objek .

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

Langkah 3

Buat entiti komposit.

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

Langkah 4

Buat kelas pelanggan yang menggunakan entiti komposit.

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

Langkah 5

Gunakan Client untuk menunjukkan penggunaan corak reka bentuk Entiti Komposit.

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

Langkah 6

Sahkan output.

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