디자인 패턴-복합 엔티티 패턴
복합 엔티티 패턴은 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