JiveJdon Community Forums
在线57人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 8 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
r7raul

发表文章: 45
注册时间: 2008年03月10日 19:16
给他发消息
值对象是不可变的? 发表: 2008年04月10日 13:54 回复
值对象是不可变的是不是指值对象的属性不可更改想JAVA的STRING不变类一样?那为啥ForumThreadState中有setXXX()的方法呢?
r7raul

发表文章: 45
注册时间: 2008年03月10日 19:16
给他发消息
re:值对象是不可变的? 发表: 2008年04月10日 14:19 回复
值对象是不是就是不变类的对象?
r7raul

发表文章: 45
注册时间: 2008年03月10日 19:16
给他发消息
re:值对象是不可变的? 发表: 2008年04月10日 14:19 回复
值对象是不是就是不变类的对象?
r7raul

发表文章: 45
注册时间: 2008年03月10日 19:16
给他发消息
re:值对象是不可变的? 发表: 2008年04月10日 14:23 回复
为啥不把ForumThreadState设计成不变类呢?属性都是FINAL的,从数据库中读出数据后直接用构造函数设值,这样不是更彻底的不变吗?

只有GET方法没SET方法
[该贴被r7raul于2008-04-10 14:24修改过]
pub

发表文章: 42
注册时间: 2008年04月13日 18:39
给他发消息
回复:re:值对象是不可变的? 发表: 2008年04月10日 15:01 回复
好。。。。。。。。
r7raul

发表文章: 45
注册时间: 2008年03月10日 19:16
给他发消息
re:值对象是不可变的? 发表: 2008年04月10日 17:12 回复
我看了论坛刷新的时候每次都NEW 了一个forumState,为啥不共享一个forumState呢?还有forumState不需要持久化到数据库中,它的生命周期啥时候结束?与客户类的值对象地址有啥区别?值对象地址是要持久化的?
pub

发表文章: 42
注册时间: 2008年04月13日 18:39
给他发消息
回复:re:值对象是不可变的? 发表: 2008年04月10日 17:56 回复
1.刷新是一个技术上的要求和共享的语义不一样。
2.forumState的生命周期不同于forum,随时都有可能结束 并生成新的forumstate.
3.值对象和持久到数据库中没有多少关系。只要注意new 完后更新一次后不再更新
4.值对象共享结合Flyweight。

5.如果有共享要求,像forumState一样存在多个属性的话不利于共享 ?
pub

发表文章: 42
注册时间: 2008年04月13日 18:39
给他发消息
回复:回复:re:值对象是不可变的? 发表: 2008年04月11日 21:27 回复
banq

发表文章: 9074
注册时间: 2002年08月03日 17:08
给他发消息
回复:回复:re:值对象是不可变的? 发表: 2008年04月14日 09:13 回复
pub基本正确

值对象不可变的意思和主要指其生命周期的一致性,并不是说技术上不能修改
这个主题有 8 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam