领域驱动设计 相关

http://www.jdon.com/mda/ddd.html

 

http://www.jdon.com/mda/dddcase1.html

 

HTTP是无状态的。用户一次交互之后,这次交互造成的影响(或者叫“状态变迁”)在什么地方留存。
只有两条路可以选,要么客户端,要么服务器端。如果不是做ajax,不用数据岛,那么就是服务器端。我看你的文章讲的也是服务器端保存状态。要在服务器端保存状态,也只有两条路,要么应用程序内,要么应用程序外。要在应用程序内保存状态,你这个应用程序就别想分布,多台服务器的classloader不可能给你加载同一个Java对象。如果不想在你的Java对象里面管理用户状态,就得把用户交互的结果老老实实弄到应用程序外的持久化服务上,不管是数据库也好memcached也好,总之每次用户交互都要持久出去。你那个文章说什么“状态管理中间件”,莫非stateful session bean就不是持久化了?恕在下愚钝,我是看不出JNDI或者缓存文件跟数据库就有什么本质的区别。

 

彭所说是指不用每次在数据库中持久化,而是通过状态会话Bean或是实体Bean来保存状态,这些都是在内存中跑的,所以效率也会高些,等到一些步骤操作完成后,需要保存的时候才最后持久化到数据库中,这个情况就好象购物车的例子里,不是每次选个商品就要持久化到数据库中的。

板桥先生写了那些关于面向对象和领域建模的文章就算白写了,因为你压根就没看。为什么这么说?如果真正是领域驱动设计、模型驱动设计,你首先就要分出应用程序域和外部服务域。属于应用程序的东西,做对象建模;外部的持久服务,用repository去adapt。adapt了以后,你就不必关心这个持久服务是jndi还是数据库。如果已经是模型驱动设计了还念念不忘说“不要每次都持久到数据库”,你的隔离在哪里?你的设计分明就还在受数据库的影响么。你还说这是板桥先生的意思,岂不是诋毁板桥先生不懂模型驱动设计?

而且你这话说得实在外行。stateful session bean和entity bean在内存中保存状态?麻烦你告诉我怎么把一台服务器的内存状态复制到集群中的另一台服务器去。我一开始就说了,如果说既要在服务器保存用户操作造成的状态变迁、又要让应用程序可集群,就肯定要用外部的持久化服务。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值