Java combined entity mode

Composition entity mode (Composite Entity Pattern) used in the EJB persistence mechanism. A combination of an EJB entity is an entity bean, representing the object illustration. When a combination of updating entity dependent objects inside beans automatically updated as they are managed by the EJB entity bean. The following is a participant in combination entity bean.

  • Combined entity (the Entity Composite) - which is the main entity bean. It may be coarse, or may comprise a coarse-grained objects, for sustained life cycle.
  • Coarse-grained objects (the Coarse-Grained Object) - The object that contains dependent object. It has its own life cycle, but also to manage the life cycle of dependent objects.
  • Dependent objects (Dependent Object) - dependent objects is a continuous life cycle depends on the coarse-grained object object.
  • Strategy (Strategies,) - Strategy shows how to achieve a combination of entities.

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

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

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

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

CompositeEntityPatternDemo.java

public class CompositeEntityPatternDemo {// Client to demonstrate the use of design patterns usage composition entity
    
    public static void main (String [] args) {
        Client Client Client new new = ();
        client.setData ( "the Test", "the Data");
        Client. the printData ();
        client.setData ( "Second the Test", "Data");
        client.printData ();
    }
    
}

 

Guess you like

Origin blog.csdn.net/walkerwqp/article/details/91956524