二十八、组合实体模式
组合实体模式(Composite Entity Pattern),用于EJB持久化机制中。一个组合实体就是一个EJB的bean,代表了对象的图解,当更新一个组合实体时,内部依赖对象beans会自动更新。
实现
创建一个组合实体类CompositeEntity,和一个包含依赖对象的类CoarseGrainedObject。
创建依赖对象类
DependentObject1.java/** * Created by lenovo on 2016/12/12 0012. * 依赖类 */ public class DependentObject1 { private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } }DependentObject2.java/** * Created by lenovo on 2016/12/12 0012. * 依赖类 */ public class DependentObject2 { private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } }创建粗粒度对象类
CoarseGrainedObject.java/** * Created by lenovo on 2016/12/12 0012. */ public class CoarseGrainedObject { DependentObject1 dependentObject1 = new DependentObject1(); DependentObject2 dependentObject2 = new DependentObject2(); public void setData(String data1,String data2){ dependentObject1.setData(data1); dependentObject2.setData(data2); } public String[] getData(){ return new String[]{dependentObject1.getData(),dependentObject2.getData()}; } }创建组合实体类
CompositeEntity.java/** * Created by lenovo on 2016/12/12 0012. * 组合实体类 */ 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/** * Created by lenovo on 2016/12/12 0012. * 使用组合实体类的客户端类 */ public class Client { private CompositeEntity compositeEntity = new CompositeEntity(); public void printData() { for (String s : compositeEntity.getData()) { System.out.println("Data: " + s); } } public void setData(String data1, String data2) { compositeEntity.setData(data1, data2); } }演示
CompositeEntityPatternDemo.java/** * Created by lenovo on 2016/12/12 0012. * 演示 */ public class CompositeEntityPatternDemo { public static void main(String[] args) { Client client = new Client(); client.setData("test", "data"); client.printData(); client.setData("222", "666"); client.printData(); } }输出
Data: test Data: data Data: 222 Data: 666
本文介绍了一种用于EJB持久化机制的设计模式——组合实体模式。该模式通过将多个依赖对象组合成一个整体来简化更新操作。文章通过示例代码详细展示了如何创建组合实体类和依赖对象类,并演示了其工作流程。
289

被折叠的 条评论
为什么被折叠?



