社区
Java
帖子详情
关于Delegate和Value Object两种模式,理解很模糊,请各位达人能详细说明一下么?
GOALSTAR
2004-09-07 01:35:04
在做J2EE项目的时候
工程用到了这两个项目,虽然按照步骤能做出来。可是理解却很模糊。
各位达人能详细说明这两种模式在J2EE上的作用和实现原理么
...全文
161
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
朱老师QT系列课程-2.1.QT的ModelView架构
包括ModelView架构的类库继承和实现关系,QT提供的标准数据处理Model如QStandardItemModel、QStringListModel、QFileSystemModel,QT提供的典型View如ListView、TreeView、TableView。最后还讲了View的
Delegate
,...
关于 cannot deserialize from
Object
value
(no
delegate
- or property-based Creator)的错误,解决方法。
关于错误cannot deserialize from
Object
value
(no
delegate
- or property-based Creator)的解决办法
关于cannot deserialize from
Object
value
(no
delegate
- or property-based Creator)报错的解决
问题描述 提示:这里描述项目中遇到的问题: 在feignClient调用时一直报错: cannot deserialize from
Object
value
(no
delegate
- or property-based Creator) 原因分析: 这是我的封装获取到的对象的VO类,在使用 @Builder 注解的时候,会生成一个全参构造,导致无参构造消失,而反序列化是需要无参构造方法的,所以会导致此报错 解决方案: 作为接收方的VO类,不需要@Builder注解,删除@Builder注解,使用@N
解决:cannot deserialize from
Object
value
(no
delegate
- or property-based Creator)
解决:cannot deserialize from
Object
value
(no
delegate
- or property-based Creator) 前因后果: 前两天在写一个简单页面的时候,前端通过ajax
请
求发送参数,后端创建了一个实体类用来接收参数,这个实体类添加了Lombok的@Data注解,没有常见其他构造函数,当前端发送
请
求时后端控制台就会抛出以下异常,后经过查询发现原来是应为实体类没有无参构造函数造成的。 解决方式: 手动创建一个无参构造器或者添加Lombok注解@NoArgsCo
cannot deserialize from
Object
value
(no
delegate
- or property-based Creator) 解决方法
直接上图报错无法从
Object
值反序列化(没有基于委托或属性的创建者)
Java
50,541
社区成员
85,619
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章