社区
Java
帖子详情
关于Delegate和Value Object两种模式,理解很模糊,请各位达人能详细说明一下么?
GOALSTAR
2004-09-07 01:35:04
在做J2EE项目的时候
工程用到了这两个项目,虽然按照步骤能做出来。可是理解却很模糊。
各位达人能详细说明这两种模式在J2EE上的作用和实现原理么
...全文
191
7
打赏
收藏
关于Delegate和Value Object两种模式,理解很模糊,请各位达人能详细说明一下么?
在做J2EE项目的时候 工程用到了这两个项目,虽然按照步骤能做出来。可是理解却很模糊。 各位达人能详细说明这两种模式在J2EE上的作用和实现原理么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yeshucheng
2004-09-13
打赏
举报
回复
楼上说的,可以这么去理解。
至于楼主提到的粗粒度,你不妨可以这么去理解:
比如我们工作中有个部门,部门里存在很多的员工(这里就是个1:N的结构关系)
public class dept {
private String id;
private String info;
private String[] employee;//这里的员工作为一个对象就完全可以理解成一个粗粒度的考虑
.....
public String getXXX();
....
}
shangqiao
2004-09-11
打赏
举报
回复
我觉得delegate是对操作的封装,而VO是对往返于这之间的数据的封装
GOALSTAR
2004-09-11
打赏
举报
回复
还有个是粗粒度和细粒度的问题怎么理解啊
NewTypeQ
2004-09-08
打赏
举报
回复
那本经典的EJB Design Pattern上有详细说明
mor
2004-09-07
打赏
举报
回复
IBM Developer World上的两枚文章
Web 服务的体系结构和最佳实践
http://www-900.ibm.com/developerworks/cn/wsdd/techjournal/0310_brown/brown.shtml
这枚文章里谈到了Delegate
EJB 最佳实践:用值对象加速您的 RMI 事务
http://www-900.ibm.com/developerWorks/cn/java/j-ejb0910/index.shtml
这枚是讲value object的
yeshucheng
2004-09-07
打赏
举报
回复
其实如果单纯的用语言来描述这两个问题可能比较困难(uml最能表达清楚):
Delegate:我们从字面理解就是一种代理,当前端的servlet调用delegate时是以一种判断行为存在,在它上多半以boolean形式来判断你所操作的对象作何行为动作,如果行为存在或者说允许则返回true,否则false(这里可以抛出异常,例如作为一个事物是插入数据,一旦有存在相同的关键字信息,就能很好的抛出异常).一旦成立为true,则调用隐藏在后端的sessionFacade,在sessionBean中就存在是个对动作的真正的执行了。
VO(value object):值对象,这种模式一般在大型项目中都会采用。它的好处就在于它把数据库表中的参数作为一个类来封装(个人觉得这是考虑到软件工程中粗粒度的问题),作为客户端频繁的操作后台的数据库对于整个系统都是一种大能源消耗(例如:客户按照常理就要多次调用业务对象的get方法,这样每次都要一次网络调用,从而造成系统性能的退化)。而值对象是以任意可串化的java对象,这样大量数据封装在其中并且保存在内存中,这样就使得客户不需要到数据库中去查询数据,而只需要在内存中读取对象,节省了大量时间和系统开销
ecaol
2004-09-07
打赏
举报
回复
UP
WF工作流入门:从Hello World到生产级四环节闭环
本文以Camunda 7.20为实践框架,提出工作流(WF)入门必须完成的触发、执行、记录、验证四环节闭环,纠正仅关注BPMN绘图的伪Hello World误区。内容涵盖Message Start Event建模、Service
Delegate
实现、历史级别配置、端到端curl+SQL验证,并强调可观测性、事务解耦、幂等性等生产级关键设计。所有实践均面向真实业务契约与故障排查能力构建。
C#委托本质解析:从IL指令到内存泄漏避坑指南
本文深入剖析C#委托的底层机制,涵盖IL指令级实现、多播委托的数组结构、闭包捕获导致的内存泄漏风险,以及事件模型、异步委托、跨域序列化和性能敏感场景下的典型陷阱。结合Roslyn分析器、ETW监控和dotnet-dump诊断工具链,提供可落地的委托设计铁律与.NET各版本演进要点,聚焦运行时对象契约与GC行为,助力开发者规避高频生产事故。
Understanding .NET 读书笔记(1)__ CTS (转藏)
作者阅读《.net 大局观》,总结CTS部分内容。介绍了reference type和
value
type的继承关系,以及managed code的三种内存分配方式,还列举了重要的
value
type和reference type,对比了structure和classes的区别。
动态委托替代MethodInfo.Invoke提升.NET插件调用性能
本文深入剖析MethodInfo.Invoke在.NET插件系统中的性能瓶颈,指出其元数据解析、参数装箱/拆箱、安全检查和JIT适配四重开销。提出以Expression.Compile生成强类型动态委托为核心方案,实测性能提升25倍,并覆盖跨上下文加载陷阱、异步方法适配、缓存策略与生产避坑指南,适用于插件化架构、热更新及规则引擎等高频动态调用场景。
.NET委托的本质:解耦思维与高性能行为绑定
本文深入剖析.NET委托的本质,强调其作为运行时行为绑定机制的架构价值,而非仅语法糖。重点涵盖委托与接口的本质差异(行为vs对象)、多播委托的实现原理与线程安全陷阱、事件封装必要性、性能实测对比(委托调用比虚方法快25%),以及闭包、内存泄漏、异步线程安全等典型坑点。同时介绍Func/Action泛型委托、函数指针及源生成器在现代.NET中的演进。
Java
51,409
社区成员
86,088
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章