又犯了不该犯的错误

今天开会,又决定把JDBC+Stateless SessionBean的数据存取方案改成EntityBean的方案。这个意味着我的模块要重新设计。这件事意味着两个教训(都是以前犯过的):1. 不要以为自己比别人牛。 当初我们设计这个模块的时候,选用EntityBean,就是觉得EntityBean的配置和部署太过繁复,而且EJB1.1不支持local interface,导致复杂数据操作的效率下降。而且规定object-schema mapping也不比JDBC+SSB简单多少。谁知道设计起来才发现,一旦要处理复杂点的关系,代码自然就复杂乐。最后发现我们的设计重复了很多EntityBean本来就有的功能,比如物件级别的缓存(我自己写了个single-write-multiple-write的缓存模块,浪费时间啊 ), 可配置的关系映射,和多级代理的设计模式。。。事后仔细一想,人家Sun的程序员比我们牛多了,未必还没写过手工处理的数据存储啊?当然是问题多多,才发明了EntityBean的解决方案三,我们却天真地以为自己比别人牛B,完全忘了Linus解释为什么Linux内核不用C++写的名言:being there, done that。 其实这个教训以前就有过。以前上文件组织的课时,放着一个小时就可以写好的常用实现方法(linked bucket),非要去实现所谓支持最大灵活性的Extendable Hashtable, 结果足足写了两天,还写得不好。其实Eric在他的 blog里也提到他曾犯的类似错误,我怎么就没有往心里去呢?2. 这个比较老套。就是磨刀不误砍柴功。项目刚开始的时候,无数的书都说了有复杂关系的数据存取用EntityBean不错,但我居然没仔细想过别人为什么那样坚持,也没有深入调查,全忘了古训:事豫则立,不豫则废。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值