posts - 89,  comments - 98,  trackbacks - 0

我的评论

希望大家能够踊跃发言啊。
re: Struts -- html:link 标签的使用 水煮三国 2007-02-08 13:28  
<html:link action="abc"/>
也是可以的.
不过如果有action就不必加abc.do这样的后缀了,只须abc即可.
但是page就必须加上.do
re: 说说在NEC笔试的感受 水煮三国 2006-11-09 20:27  
我在济南

你在哪个城市?
我后来没有去NEC因为档案的事情没有去。

但是后来我认为不去NEC还是对的。
他们大部分还是做软件外包。
re: 说说在NEC笔试的感受 水煮三国 2006-11-05 09:20  
不是的,计算机专业的东西很少。
逻辑思维的东西大部分都是。
其实在interface当中定义的数据成员都是static final的,因此我们可以直接使用,且不能被修改
总结的不错!我也来凑个热闹吧,发发自己的观点。

Robbin总结的三点模型,我1、2用过,所味的第3点还无福消受啊

一、关于第一种模型我在一个实际项目中做过这样的设计,给我的感觉不是很好,主要有以下几点:
《1》要写太多的贫血类,其实可以做一个工具来自动生成,也不错。
《2》业务逻辑感觉不能很好的得到体现,这样增加了BussImp类的复杂度, 且许多操作是不应该由BussImp来承担, 但也有个好处那就是设计相对的容易些
《3》这不是OO的正统设计,这是受Boost的影响
二、至于第二种模型是我一直都在用的,这种模型对设计人员的要求相对的要高,为什么?那是因为对 ItemClass 要比以前更难以把握,其实设计就是归类,但就是这个归类就不那么的简单,且每个人都有自己的归类方法,很难形成统一。
在上面三种模型之外,还有很多这三种模型的变种,例如partech的模型就是把第二种模型中的DAO和Manager三个类合并为一个类后形成的模型;例如frain....(id很长记不住)的模型就是把第三种模型的三个类完全合并为一个单类后形成的模型;例如Archie是把第三种模型的Item又分出来一些纯数据类(可能是,不确定)形成的一个模型。

但是不管怎么变,基本模型归纳起来就是上面的三种模型,下面分别简单评价一下:

第一种模型绝大多数人都反对,因此反对理由我也不多讲了。但遗憾的是,我观察到的实际情形是,很多使用Hibernate的公司最后都是这种模型,这里面有很大的原因是很多公司的技术水平没有达到这种层次,所以导致了这种贫血模型的出现。从这一点来说,Martin Fowler的批评声音不是太响了,而是太弱了,还需要再继续呐喊。

第二种模型就是Martin Fowler一直主张的模型,实际上也是我一直在实际项目中采用这种模型。我没有看过Martin的POEAA,之所以能够自己摸索到这种模型,也是因为从02年我已经开始思考这个问题并且寻求解决方案了,但是当时没有看到Hibernate,那时候做的一个小型项目我已经按照这种模型来做了,但是由于没有O/R Mapping的支持,写到后来又不得不全部改成贫血的domain object,项目做完以后再继续找,随后就发现了Hibernate。当然,现在很多人一开始就是用Hibernate做项目,没有经历过我经历的那个阶段。

不过我觉得这种模型仍然不够完美,因为你还是需要一个业务逻辑层来封装所有的domain logic,这显得非常罗嗦,并且业务逻辑对象的接口也不够稳定。如果不考虑业务逻辑对象的重用性的话(业务逻辑对象的可重用性也不可能好),很多人干脆就去掉了xxxManager这一层,在Web层的Action代码直接调用xxxDao,同时容器事务管理配置到Action这一层上来。Hibernate的caveatemptor就是这样架构的一个典型应用。

第三种模型是我很反对的一种模型,这种模型下面,Domain Object和DAO形成了双向依赖关系,无法脱离框架测试,并且业务逻辑层的服务也和持久层对象的状态耦合到了一起,会造成程序的高度的复杂性,很差的灵活性和糟糕的可维护性。也许将来技术进步导致的O/R Mapping管理下的domain object发展到足够的动态持久透明化的话,这种模型才会成为一个理想的选择。就像O/R Mapping的流行使得第二种模型成为了可能(O/R Mapping流行以前,我们只能用第一种模型,第二种模型那时候是不现实的)。
re: JSP 制作文件下载碰到的问题 水煮三国 2006-09-11 11:13  
谢谢JonneyQuest指正!
re: 说说在NEC笔试的感受 水煮三国 2006-08-30 09:22  
感觉还可以,昨天去面试了.

问及我什么时候提出档案的问题,我感觉到可能性会有的.
我应聘的是JAVA开发程序员的职位

你也去了?
re: 说说在NEC笔试的感受 水煮三国 2006-08-28 20:10  
今天上午的时候接到了NEC的电话面试通知。

现在倒是害怕起来了。我的英语很滥啊。
看了他们的流程,是要先技术面试,再人事部门面试

如果有需要可能某些领导再面试,晕啊。
很多东西都无从说起,也没法准备。

但愿明天就像我的笔试一样好运吧。
re: JAVA中内部类的使用总结 水煮三国 2006-08-23 10:09  
public class INClass{
void innerClass(final String str){
class IClass{
IClass(){
System.out.println(str);
}
}
IClass ic=new IClass();
}
public static void main(String[] args){
INClass inc=new INClass();
inc.innerClass("Hello");
}
}

这是一个方法当中使用了内部类的例子,那么内部类要使用方法当中的变量时必须把该方法的变量声明为final,否则不会通过.
re: JAVA 中 final全接触 水煮三国 2006-08-01 09:12  
5.如果一个数据即是final,又是static那就表明这个数据有一块无法改变的存储空间。

6. 也可以使用空的final 声明,但是如果要是使用的话就必须在这个类的构造函数当中初始化它。这一点要记住:final的初始化有两种,一是直接在声明的时候初始化,另一种是在构造函数当中初始化。
re: java当中接口与抽象类的思考 水煮三国 2006-07-31 16:36  
一个不错的总结,使我受益非浅。
这里要注意的一点:就是前提是test在未编译前
re: 从今儿开始学习Hibernate 水煮三国 2006-07-25 11:50  
谢谢楼上的指点,如果有机会我们可以交流
re: 我将成为一个快乐的房奴 水煮三国 2006-07-21 16:17  
第一次来你的窝。
不过真的恭喜你,用自己怕双手换回自己的幸福
re: JAVA当中的值传递 水煮三国 2006-07-21 15:56  
java当中的值传递不会改变本函数声明的参数值,而在被调用函数当中参数的改变不会影响到本函数的参数值。

而被调用函数当中的是一个本函数参数值声明的值的一个考贝。
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(4)

随笔分类(85)

随笔档案(89)

文章分类(14)

文章档案(42)

收藏夹(37)

java

oracle

Sybase

搜索

  •  

积分与排名

  • 积分 - 208889
  • 排名 - 267

最新评论

阅读排行榜

评论排行榜