java教程菜鸟教程组合模式,组合实体模式

组合实体模式

组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 bean 的参与者。 组合实体(Composite Entity) - 它是主要的实体 bean。它可以是粗粒的,或者可以包含一个粗粒度对象,用于持续生命周期。

粗粒度对象(Coarse-Grained Object) - 该对象包含以来对象。它有自己的生命周期,也能管理依赖对象的生命周期。

依赖对象(Dependent Object) - 依赖对象是一个持续生命周期依赖于粗粒度对象的对象。

策略(Strategies) - 策略表示如何实现组合实体。

实现

我们将创建作为组合实体的 CompositeEntity 对象。CoarseGrainedObject 是一个包含依赖对象的类。

CompositeEntityPatternDemo,我们的演示类使用 Client 类来演示组合实体模式的用法。

aspnet-examples.html

步骤 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

女垒姑娘最漂亮,青年女足最顽强

昨天中午看了一场世界女子垒球锦标赛&#xff0c;发现中国的垒球姑娘真是个个长得都漂亮呢&#xff0c;在女子集体运动队里&#xff0c;我敢说女垒恐怕是整体最美的队伍。昨天对手是实力最弱的南非队&#xff0c;因此美女们的发挥更潇洒&#xff0c;姿态也最优美&#xff0c;就…

大漠印象:鄂尔多斯

近日再去内蒙古西部&#xff0c;到了辉腾锡勒草原、包头、鄂尔多斯等地&#xff0c;拍了些照片。大漠落日圆。可在我眼里这仿佛是外太空的某个无生物星球&#xff0c;荒凉而又陌生。天体学家说&#xff1a;地球的未来就是这样的景象。沙漠的纹路像是骤然间凝固的水面&#xff0…

php 命令行 php.ini,php web环境和命令行环境下查找php.ini的方法分享

php web环境和命令行环境下查找php.ini的位置php.ini 是php运行的配置文件&#xff0c;不是一个必须使用的文件。不过通常php程序运行都需要加载php.ini文件。 php.ini 提供了一些重要的参数。比如运行的时候出错的时候是否报错&#xff0c;运行的内存最大是多少 和一些php扩展…

在辉腾锡勒我见到了狼

9月初在辉腾锡勒的黄花沟见到了两只野狼。起初我有点不相信&#xff0c;因为我已经30来年没见过野狼了。在我的家乡呼伦贝尔草原狼几乎绝迹。此刻&#xff0c;它们悠闲地从我们身边走过&#xff0c;完全无视人类的存在。带路的当地老乡告诉我&#xff0c;由于这几年禁止打狼&am…

不同时期的同学的聚会

北京图图蒙古食府。大学同学。内蒙呼伦贝尔。小学同学。内蒙呼伦贝尔。初中同学。内蒙包头固阳村农家菜。北京高中同学。

java 张量运算,博客 | Tensorflow_01_运算符与张量值

feed_dict 方法它不止是一个方法&#xff0c;同时还是一个观念&#xff0c;让我们可以更加明确的了解到节点创立的时候&#xff0c;并不包含了让节点执行动作的过程&#xff0c;也因为 Tensorflow 这样的特性&#xff0c;我们可以让流程先创立好&#xff0c;最后等到要运算真正…

老外肖像(一)

在北京朝阳公园见到的加拿大小女孩。这是那个女孩的弟弟&#xff0c;非常顽皮。一个叫奥利沃的匈牙利人&#xff0c;却在中国教授汉语。我说他有欧洲古典诗人的气质&#xff0c;他说他的梦想是做飞行员。这个女孩是第一次来中国的德国人&#xff0c;很像鲁本斯画中的人物。奥利…

哲学是一种生活

《庄子》里有一则寓言&#xff0c;说到一棵巨大的树&#xff0c;这棵树既不能做家具&#xff0c;也不能盖房子。有人问&#xff1a;这样的树有什么用&#xff1f;庄子回答&#xff1a;它的用处就是没有用。如果它能够做家具、盖房子&#xff0c;它早就被人砍伐了。正是因为无用…

php如何解决并发问题,PHP如何解决并发问题

PHP如何解决并发问题有个问题&#xff1a;一个进程开启事务对表的某一行做了修改&#xff0c;但还没有提交&#xff0c;另一个进程查询该行数据&#xff0c;获取到的是原始的&#xff0c;这时候上面的事物提交了&#xff0c;我再用这个原始数据的时候就有问题……那我们该怎么解…

没有眼睛的街头卖艺人

这是我在潘家园旧货市场附近拍的一组照片。我犹豫再三还是把它贴出来了&#xff0c;因为在我拍摄的时候都曾感到不自然&#xff0c;像是对他残疾的一种伤害。因为无意中用了闪光灯&#xff0c;灯光闪过&#xff0c;他忽然停下手&#xff0c;转过头来&#xff0c;朝着我&#xf…

alchemy php,Flask SQLAlchemy

在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味。 相反&#xff0c;Python工具包SQLAlchemy是一个功能强大的OR映射器&#xff0c;为应用程序开发人员提供了SQL的全部功能和灵活性。 Flask-SQLAlchemy是Flask扩展&#xff0c;它将对SQLAlchemy的支持添加到Fl…

树根上的羊头

这是我在内蒙古兴安盟好仁乡政府院内见到的一棵百年榆树根。当地人招待我们专门杀了一只羊&#xff0c;将羊头放在了榆树根上。据说当地人不吃羊头&#xff0c;也有说是一种仪式。

php 四舍五入百位,php取整函数ceil,floor,round,intval函数的区别

1、ceil — 进一法取整说明float ceil ( float $value )返回不小于 value 的下一个整数&#xff0c;value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float&#xff0c;因为 float 值的范围通常比 integer 要大。ceil() 例子echo ceil(4.3); // 5echo ceil(9.999); // …

看新排美国话剧《哗变》

广西师范大学出版社出版的小说中文版封面昨晚看了话剧《哗变》的首演。是根据美国剧作家诺尔曼沃克的小说《凯恩号哗变记》改编。1988年北京人艺曾演出。而这次出演的演员除冯远征外都为新面孔&#xff0c;导演为任鸣。前两年曾看过电影&#xff0c;相比起来还是话剧过瘾。这个…

辽宁绥中南江港海边

这是位于辽宁兴城和河北秦皇岛之间的一个小渔港&#xff0c;当地人叫“南江港”。此地据说民风朴素&#xff0c;生活几乎自给自足&#xff0c;所以村里显得非常安静、和谐。渔民们出海回来&#xff0c;卸下网来的鱼虾&#xff0c;虽然收获不大&#xff0c;但还是兴致勃勃。渔民…

php导出照片,Laravel使用 Laravel Excel文件导出图片功能

Laracel 中可以使用Laravel Excel进行Excel或者PDF的导出&#xff0c;使用composer进行安装此差价&#xff0c;Laravel-Excel将PHPExcel进行封装。其官方文档&#xff1a;http://www.maatwebsite.nl/laravel-excel/docs其中并未解释出如何导出图片excel其实是可以使用PHPExcel的…

奇特的恐怖之门:谈周德东的恐怖小说《门》

在中国恐怖小说领域&#xff0c;周德东无疑是真正的“王”&#xff0c;什么王&#xff1f;段子王。这不是自诩自封的。据我所知&#xff0c;周德东写恐怖小说已经6、7年了&#xff0c;却总有讲不完的故事&#xff0c;他就像变魔术一样随时会抖出一个段子&#xff0c;让你冷不丁…

炫技式的精彩对辩撑起《哗变》

看了重排话剧《哗变》的首演。是根据美国剧作家诺尔曼沃克的小说《凯恩号哗变记》改编。1988年北京人艺曾演出&#xff0c;由著名演员朱旭主演。而这次出演的演员除冯远征外大都为新面孔&#xff08;至少对我来说是&#xff09;&#xff0c;导演为任鸣&#xff0c;朱旭则作为艺…