java教程菜鸟教程组合模式,组合实体模式
组合实体模式
组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。 组合实体(Composite Entity) - 它是主要的实体 bean。它可以是粗粒的,或者可以包含一个粗粒度对象,用于持续生命周期。
粗粒度对象(Coarse-Grained Object) - 该对象包含以来对象。它有自己的生命周期,也能管理依赖对象的生命周期。
依赖对象(Dependent Object) - 依赖对象是一个持续生命周期依赖于粗粒度对象的对象。
策略(Strategies) - 策略表示如何实现组合实体。
实现
我们将创建作为组合实体的 CompositeEntity 对象。CoarseGrainedObject 是一个包含依赖对象的类。
CompositeEntityPatternDemo,我们的演示类使用 Client 类来演示组合实体模式的用法。
步骤 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
创建使用组合实体的客户端类。
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
使用 Client 来演示组合实体设计模式的用法。
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
java教程菜鸟教程组合模式,组合实体模式相关推荐
- python菜鸟教程字典-python教程菜鸟教程学习路线
python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...
- python教程菜鸟教程学习路线
python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...
- Python基础教程-菜鸟教程学习笔记1
Python基础教程-菜鸟教程学习笔记1 文章目录 Python基础教程-菜鸟教程学习笔记1 前言 Python 简介 1. 第一个Python程序 2. Python 中文编码 3. 基本语法 1) ...
- java script 菜鸟教程_JS 基础知识之菜鸟教程(2016-09-30)
//2016-09-30 重读菜鸟教程上JS教程同时摘录重要知识点 1.JavaScript 输出几种方式: 使用 window.alert() 弹出警告框. 使用 document.write() ...
- MySQL 教程---菜鸟教程
文章目录 MySQL 教程 登录 MySQL 数据库操作 数据类型 创建数据表 删除数据表 插入数据 查询数据 WHERE 子句 UPDATE 更新 DELETE 子句 LIKE 子句 UNION 操 ...
- python基础菜鸟教程-菜鸟教程学习python
1.杂货 *items(): 方法以列表返回可遍历的(键, 值) 元组数组. *在序列中遍历时,索引位置和对应值可以使用 enumerate()函数同时得到 *同时遍历两个或更多的序列,可以使用 zi ...
- python基础教程菜鸟教程-终于懂得python入门菜鸟教程
Python语言是一种典型的脚本语言,简洁,语法约束少,接近人类语言.有丰富的数据结构,例如列表.字典.集合等.具有可移植性,支持面向过程和面向对象编程,并且开源.以下是小编为你整理的python入门 ...
- Vue.js 教程---菜鸟教程
文章目录 教程 安装 起步 模板语法 插值 指令 用户输入 过滤器 缩写 条件语句 循环语句 计算属性 监听属性 样式绑定 事件处理器 表单 组件 组件 - 自定义事件 自定义指令 钩子 路由( vu ...
- python基础教程菜鸟教程-python基础菜鸟教程,Python的基础语法
原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...
最新文章
- 05、HttpServletRequest
- php数组转为js json,php如何将数组转为json数组,php数组转为js数组
- Java中的nextInt()和next()与nextLine()区别详解
- 2.3.3 操作系统之实现临界区进程互斥的硬件实现方法
- delphi控制POS打印机
- FFT/NTT卷积神级副本
- 定时器实现方式之TimerTask、Timer
- Hadoop伪分布式集群的安装部署
- __nonnull((1)) 未完待续
- windows编程 使用C++实现多线程类
- 【白皮书下载】开源生态白皮书(2020年).pdf(附下载链接)
- 使用 T4 文本模板生成设计时代码
- php100视频教程(全集)
- Filter实现敏感词汇过滤
- 渗透测试工程师的Linux学习之路
- 2022-2027年中国分散染料行业市场全景评估及发展战略规划报告
- saltstack常用操作(七)---beacons模块的使用
- 世界各地 史上最全最详细无线通信频率分配表(内容含概wifi、2.4G、5G,绝对值得收藏)
- 电角速度和机械角速度
- 计算机毕设(附源码)JAVA-SSM基于云服务器网上论坛设计
热门文章
- 计算机变革时代:虚拟化和云计算
- python星空画法教程_对比几段代码,看看你是 Python 菜鸟还是老鸟
- mysql 核对_核对数据库表记录的shell脚本
- KDD2021 放榜,6 篇论文带你了解阿里妈妈AI技术
- java 异常管理员_java web在进行管理员操作的时候,抛出了下面的异常,怎么解决啊...
- JAVA秒杀mysql层实现_Java商城高并发秒杀系统架构分析设计与开发实战
- java poi 需要jar_Java 之 POI各Jar包作用
- 金计算机一级,计算机一级B
- html中从下往上遮罩效果,css制作从下往上逐渐显示的div
- 编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!