Mẫu thiết kế - Mẫu thực thể hỗn hợp
Mẫu thực thể hỗn hợp được sử dụng trong cơ chế bền vững EJB. Thực thể Composite là một bean thực thể EJB biểu diễn một đồ thị của các đối tượng. Khi một thực thể kết hợp được cập nhật, các đối tượng phụ thuộc nội bộ sẽ được cập nhật tự động khi được quản lý bởi Đậu thực thể EJB. Sau đây là những người tham gia Composite Entity Bean.
Composite Entity- Nó là bean thực thể chính. Nó có thể có dạng hạt thô hoặc có thể chứa một vật thể dạng hạt thô để được sử dụng cho mục đích bền bỉ.
Coarse-Grained Object- Đối tượng này chứa các đối tượng phụ thuộc. Nó có vòng đời riêng và cũng quản lý vòng đời của các đối tượng phụ thuộc.
Dependent Object - Đối tượng phụ thuộc là đối tượng phụ thuộc vào đối tượng hạt thô cho vòng đời tồn tại của nó.
Strategies - Các chiến lược thể hiện cách triển khai Thực thể tổng hợp.
Thực hiện
Chúng ta sẽ tạo đối tượng CompositeEntity hoạt động như CompositeEntity. CoarseGrainedObject sẽ là một lớp chứa các đối tượng phụ thuộc. CompositeEntityPatternDemo , lớp demo của chúng tôi sẽ sử dụng lớp Client để chứng minh việc sử dụng mẫu Composite Entity.
Bước 1
Tạo các đối tượng phụ thuộc.
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;
}
}
Bước 2
Tạo đối tượng hạt thô.
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()};
}
}
Bước 3
Tạo đối tượng tổng hợp.
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();
}
}
Bước 4
Tạo lớp Client để sử dụng Composite Entity.
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);
}
}
Bước 5
Sử dụng Máy khách để chứng minh việc sử dụng mẫu thiết kế Đối tượng kết hợp.
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();
}
}
Bước 6
Xác minh kết quả đầu ra.
Data: Test
Data: Data
Data: Second Test
Data: Data1