JiveJdon Community Forums
在线248人   首页   主题表   培训咨询   标签   查搜   注册    登陆 RSS
首页 » 论坛 » 语言平台技术讨论
???en_US.forumThreadPrev.name??? 上一主题
RSS google yahoo 365Key网摘 CSDN网摘 添加到百度搜藏 POCO网摘 新浪ViVi QQ网摘
???en_US.forumThreadNext.name??? 下一主题
Go 共有 4 回复(1页) 阅读184次
 发表新帖子   回复该主题贴
xmuzyu



发表文章: 425
注册时间: 2007年03月26日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 16人关注
如何在EJB3.0架构下进行DDD实践。 2008年08月15日 19:47 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
标签          
如何在EJB3.O架构下来进行DDD实践,一般在项目中,我是这样做的:

表现层Action-->BusinessDelegate(业务委托)-->服务门面(session bean)-->domain object.

站在DDD的角度来说,应用层的服务可以通过有态或者无态的session bean来实现,在EJB3.0中提供了持久化服务,我们可以通过EntityManager对实体进行CRUD操作,现在的问题就是如何封装EntityManager。在Respository中封装可以吗?具体如何封装?如果采用JTA事务,无论会是CMT还是BMT,则Respository必然于EJB3.0架构产生了耦合,也就降低了领域模型的复用性。我们怎么样封装EntityManager才能做到即可以使用容器提供的持久化服务,又符合DDD实践要求呢?

Hibernate是JPA的超集,所以我们可以不用容器提供的持久化服务,自己通过Hibernate来实现,这样以来就容易通过Hibernate来实现Respository了,但是我觉得用EntityManager满方便的,所以想将EntityManager独立的封装起来,然后Resposity通过EntityManager和具体的数据库打交道,但是这样有个问题,如果采用JTA事务,那么Respostory也要通过EJB的组件来实现了,所以才有此种疑问,还请各位给点意见,多谢了。
[该贴被xmuzyu于2008-08-15 20:17修改过]
zhengguo07q



发表文章:
注册时间: 2008年03月19日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
re:如何在EJB3.0架构下进行DDD实践。 2008年08月16日 11:45 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
容器提供了分布式事务处理功能。如果集群的话 用cmt吧
EJB不能说耦合吧? 那个是标准。
如果这都算的话 那你就别用任何java代码了
(:
xmuzyu



发表文章: 425
注册时间: 2007年03月26日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 16人关注
re:如何在EJB3.0架构下进行DDD实践。 2008年08月16日 13:59 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
EJB确实是标准,但是还有其他的替代方案啊。我的意思是能在EJB和其他替代方案中平滑移植。如果仓库需要EntityManager提供持久化服务,那么势必造成了领域模型与具体的架构(比如EJB)产生了耦合。而领域模型应该是与具体的架构无关的。还请各位指点。
banq



发表文章: 11308
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 72人关注
回复:re:如何在EJB3.0架构下进行DDD实践。 2008年08月18日 10:20 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
基本上可以认为EntityManager就是Repository+Factory

当然,EntityManager也可以脱离Session Bean测试和使用。

>领域模型应该是与具体的架构无关的
分析时是这样,但是落地实现时,其运行环境肯定和具体架构有关的。只要其对象内部没有和架构有关即可,领域模型是鱼,架构是水,事务也属于水环境。
[该贴被banq于2008-08-18 11:04修改过]
xmuzyu



发表文章: 425
注册时间: 2007年03月26日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 16人关注
re:如何在EJB3.0架构下进行DDD实践。 2008年08月18日 11:04 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
多谢banq老师指点。分析和设计确实还存在一定的不匹配之处,要想实现分析和设计的完美过渡还是需要经验积累的。
标签          
共有 4 回复(1页) Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
正在读取,请等待...
查询本论坛内 回复超过的热门帖子
标题
 
粗体: [b]文本[/b] 斜体: [i]文本[/i] 下划线 [u]文本[/u] 插入网上的图片 [img]http://wwww.xxxx.com/img.ext[/img] 插入代码 [code]程序代码[/code]  插入url链接 [url]http://url[/url] / [url=http://url]URL加下滑线[/url] 上传图片 word文档 Txt等附件
内容
  提交时自动拷贝以上内容到剪贴板 Ctrl+V可取出;提问题前先查询标签列表

使用帮助 手机m.jdon.com RSS add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的软件架构社区 推荐FireFox或Chrome快速浏览本站
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-10 jdon.com

anti spam