博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Composite Entity Pattern(组合实体模式)
阅读量:7087 次
发布时间:2019-06-28

本文共 2375 字,大约阅读时间需要 7 分钟。

组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。

  • 组合实体(Composite Entity) - 它是主要的实体 bean。它可以是粗粒的,或者可以包含一个粗粒度对象,用于持续生命周期。
  • 粗粒度对象(Coarse-Grained Object) - 该对象包含依赖对象。它有自己的生命周期,也能管理依赖对象的生命周期。
  • 依赖对象(Dependent Object) - 依赖对象是一个持续生命周期依赖于粗粒度对象的对象。
  • 策略(Strategies) - 策略表示如何实现组合实体。
  1. 创建依赖对象。
/** * 1. 创建依赖对象。 * @author mazaiting */public class DependentObject1 {    private String data;    public String getData() {        return data;    }    public void setData(String data) {        this.data = data;    }}/** * 1. 创建依赖对象。 * @author mazaiting */public class DependentObject2 {    private String data;    public String getData() {        return data;    }    public void setData(String data) {        this.data = data;    }}
  1. 创建粗粒度对象。
/** * 2. 创建粗粒度对象。 * @author mazaiting */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()};    }    }
  1. 创建组合实体类
/** * 3. 创建组合实体类 * @author mazaiting */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();    }}
  1. 创建使用组合实体的客户端类。
/** * 4. 创建使用组合实体的客户端类。 * @author mazaiting */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);    }       }
  1. 使用 Client 来演示组合实体设计模式的用法。
/** * 5. 使用 Client 来演示组合实体设计模式的用法。 * @author mazaiting */public class Test {        public static void main(String[] args) {        Client client = new Client();                client.setData("Test", "Data");        client.printData();                client.setData("Second Test", "Data1");        client.printData();            }}
  1. 打印结果
Data: TestData: DataData: Second TestData: Data1.

转载地址:http://mgfql.baihongyu.com/

你可能感兴趣的文章
闲言碎语
查看>>
前端谈谈实现五子棋
查看>>
forEach map
查看>>
一步步教你Android反编译
查看>>
网络协议与分层体系结构
查看>>
苹果爸爸Bug之NSTextAttachment
查看>>
GPU编程(二): GPU架构了解一下!
查看>>
HBase核心知识点总结
查看>>
Django RESTFramework——更新数据 (5)
查看>>
iOS目录解析 彻底搞懂iOS App的目录结构
查看>>
深入浅出JDK动态代理(二)
查看>>
前端实现获取浏览器flash版本号
查看>>
Hybrid小技巧:通过js调用原生对话框(Android)
查看>>
日志服务Python消费组实战(二):实时分发数据
查看>>
从几道面试题看对象的初始化
查看>>
盛极而衰,互联网体育是伪风口还是真趋势?
查看>>
14-《ARKit by Tutorials》读书笔记1:开始入门
查看>>
[MetalKit]33-Ambient-Occlusion-in-Metal环境光遮蔽
查看>>
图解JavaScript算法排序
查看>>
Flask环境搭建(自己学习用)
查看>>