锁定老帖子 主题:spring3mvc与struts2比较
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-25
最后修改:2010-06-25
貌似用Map级别更容易犯"容易犯的错误",put/get一不小心"最终一定会变成泛滥的错误",我们的团队除非万不得已,不要用Map这东西来存放业务逻辑数据,因为吃过好多亏啊。
引用 框架就是固化了的最佳实践
似乎哪个框架都在出2,3版本,远未固化。 貌似只有死了的东西才会固化。 最后,存属路过。 |
|
返回顶楼 | |
发表时间:2010-06-25
最后修改:2010-06-25
楼上请注意看上下文,我没说要用全局map
我没说框架本身是固化的,但它是对知识和经验的固化 就像软件是对人类思维的固化,软件本身不是固化的 哎 |
|
返回顶楼 | |
发表时间:2010-06-26
最后修改:2010-06-26
引用 对于楼上两位的论调,我感觉非常遗憾。Java发展到现在,还有人可以堂而皇之的告诉我,显示调用map.put,是业务逻辑的一部分,为了分清楚所谓的输入输出,宁可放弃OO。
现在明白你为什么那么急冻,那么贬低springmvc了 如果仅仅因为springmvc不够OO而武断的主观的说它不好是不可取的 springmvc采取的是动态绑定参数的方式,而struts2是静态的方式 这也就决定了springmvc无法做到OO,但正是这种动态提高了开发效率,受很多开发者的欢迎 struts2确实很OO, 但也带来了前面讨论的那些问题 我个人认为web层框架的趋势是springmvc或者说动态绑定参数型框架 downpour 写道 楼上的这位同学,讨论中止,我认为你的水平还不足以和我讨论。希望你首先明白什么才是OO,什么才是优雅。我不乐意和一个毫无是非观念的人讨论下去,这毫无意义。
淡定 |
|
返回顶楼 | |
发表时间:2010-06-26
downpour 写道 楼上的这位同学,讨论中止,我认为你的水平还不足以和我讨论。希望你首先明白什么才是OO,什么才是优雅。我不乐意和一个毫无是非观念的人讨论下去,这毫无意义。
我不否认,struts2看起来更加OO, 并且可以从中获得很多好处,比如拦截器中直接操作实例变量,实例变量上可以直接添加scope可读性更好。但是用是不是OO来决定一个框架是否优秀还是显得片面。 Spring MVC对于请求-相应模式更直接点,参数输入,处理,ModelMap输出,每个方法之间不互相干扰。这样很多方法可以放一起,比如一个CustomerController就可以解决所有customer相关请求,这里的customerController不是一个业务上的概念,可以看成是Customer的EndPoint,用于提供基于url请求的服务。 反之,用struts2改写这个类就会出现过多实例变量,所以,就必须合理的设计struts2的action。所以,个人认为struts2的使用上更为复杂些。我并不是想搬到Struts2, 但是我想通过这些讨论,找出Struts2,Spring MVC2者设计理念的差别以及最佳实践和适用范围。讨论的过程也是学习的过程,当然你没有耐心赐教,我也没办法。 |
|
返回顶楼 | |
发表时间:2010-06-27
最后修改:2010-06-27
**自己不是很了解WEB框架,但看大家讨论来讨论去,是不是可以简单归结为“用局部变量,还是成员变量?以及方法和类的引申好处” 或者归结为“过程式,还是面向OO式?”
**关于效率,Struts2如果对Action对象做了对象池的话,我感觉也不会慢到哪里去吧,和SpringMVC的“方法级拦截”应该相当吧。 **不知道S2有没有做action的对象池呢? 如果没有,又出于什么考虑呢?哪位知道的话能否讲解下? 个人的一些理解,欢迎指正:) |
|
返回顶楼 | |
发表时间:2010-06-27
最后修改:2010-06-29
C_J 写道 **自己不是很了解WEB框架,但看大家讨论来讨论去,是不是可以简单归结为“用局部变量,还是成员变量?以及方法和类的引申好处” 或者归结为“过程式,还是面向OO式?”
**关于效率,Struts2如果对Action对象做了对象池的话,我感觉也不会慢到哪里去吧,和SpringMVC的“方法级拦截”应该相当吧。 **不知道S2有没有做action的对象池呢? 如果没有,又出于什么考虑呢?哪位知道的话能否讲解下? 个人的一些理解,欢迎指正:) 楼上,从很早以前开始,除非是连接池这种每次创建代价很大的少数pool,对象池模式早就不再需要了。 |
|
返回顶楼 | |
发表时间:2010-06-29
哦,S2的确可以更OO。但是,JSP是太不OO了,不如JSF的好,极端点的说法,JSF比S2好。
OO真的得是程序开发的万金油么?或者说,在WEB开发上他就很合适?处处用此来衡量呢? 我不觉得用OO来开发页面是好主意,我也不觉得OO来描述流程是好主意。我觉得OO的核心优势就是消息和关系。应该用在合适的地方。 action?不是。 |
|
返回顶楼 | |
发表时间:2010-06-29
有没有人对Struts2改造一下,把Action的实例变量挪到方法参数中去,
按照请求参数名称匹配方法参数的方式自动调用相关的方法。 当然,前提假定编译后的类文件是保存了局部变量表的。 |
|
返回顶楼 | |
发表时间:2010-06-30
sswh 写道 有没有人对Struts2改造一下,把Action的实例变量挪到方法参数中去,
按照请求参数名称匹配方法参数的方式自动调用相关的方法。 当然,前提假定编译后的类文件是保存了局部变量表的。 不需要改造,至少你这个需求有很多种方法来实现。 |
|
返回顶楼 | |
发表时间:2010-06-30
downpour 写道 楼上的这位同学,讨论中止,我认为你的水平还不足以和我讨论。希望你首先明白什么才是OO,什么才是优雅。我不乐意和一个毫无是非观念的人讨论下去,这毫无意义。
强悍之及,看来一直认为oo是手段,不是目的围观群众是真的不明真相了 |
|
返回顶楼 | |