Entwurfsmuster - Zusammengesetztes Entitätsmuster
Das zusammengesetzte Entitätsmuster wird im EJB-Persistenzmechanismus verwendet. Eine zusammengesetzte Entität ist eine EJB-Entity-Bean, die ein Diagramm von Objekten darstellt. Wenn eine zusammengesetzte Entität aktualisiert wird, werden intern abhängige Objekt-Beans automatisch aktualisiert, da sie von der EJB-Entity-Bean verwaltet werden. Im Folgenden sind die Teilnehmer an Composite Entity Bean aufgeführt.
Composite Entity- Es ist eine primäre Entitätsbohne. Es kann grobkörnig sein oder ein grobkörniges Objekt enthalten, das für Persistenzzwecke verwendet wird.
Coarse-Grained Object- Dieses Objekt enthält abhängige Objekte. Es hat einen eigenen Lebenszyklus und verwaltet auch den Lebenszyklus abhängiger Objekte.
Dependent Object - Abhängiges Objekt ist ein Objekt, dessen Persistenzlebenszyklus von einem grobkörnigen Objekt abhängt.
Strategies - Strategien stellen dar, wie eine zusammengesetzte Entität implementiert wird.
Implementierung
Wir werden ein CompositeEntity- Objekt erstellen , das als CompositeEntity fungiert. CoarseGrainedObject ist eine Klasse, die abhängige Objekte enthält. CompositeEntityPatternDemo , unsere Demo-Klasse verwendet die Client- Klasse, um die Verwendung des Composite Entity-Musters zu demonstrieren.
Schritt 1
Erstellen Sie abhängige Objekte.
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;
}
}
Schritt 2
Erstellen Sie ein grobkörniges Objekt.
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()};
}
}
Schritt 3
Erstellen Sie eine zusammengesetzte Entität.
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();
}
}
Schritt 4
Erstellen Sie eine Client-Klasse, um Composite Entity zu verwenden.
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);
}
}
Schritt 5
Verwenden Sie den Client , um die Verwendung von Entwurfsmustern für zusammengesetzte Entitäten zu demonstrieren.
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();
}
}
Schritt 6
Überprüfen Sie die Ausgabe.
Data: Test
Data: Data
Data: Second Test
Data: Data1