新加入一个使用 struts的工程, 感觉非常混乱。 1、Action或者ActionForm没有分类,类似的Action没有统一的接口。ActionFrom成了个大杂烩,你没法知道某个具体Action的方法,需要哪些元素。2、Action或者ActionFrom修改后,相关的Action或者Jsp仍然可以编译通过,没有办法强制接口的统一。在多人开发的情况下,必须一个个通知相关开发者相关改变。3、动不动就要修改struts-config,多人开发时 耦合程度极高,往往不得不等别人用完才能继续开发。初步就这些感觉。不知熟悉java开发的高手们 怎么看待 struts?
flyforlove : 强制统一接口 是有益的耦合, 当对某一重要方法做出做出重大改变时,所有使用者都会得到通知(因为他们编译将无法通过)。 而当我没有重大改变时,只要不动接口,自然可以避免耦合了。
------------------------之所以出现这样的情况是因为用了jsp,jsp的解析编译是在程序运行的时候进行的,所以出现这种情况也不奇怪,这不是struts的错。
1、Action或者ActionForm没有分类,类似的Action没有统一的接口。ActionFrom成了个大杂烩,你没法知道某个具体Action的方法,需要哪些元素。
2、Action或者ActionFrom修改后,相关的Action或者Jsp仍然可以编译通过,没有办法强制接口的统一。在多人开发的情况下,必须一个个通知相关开发者相关改变。ActionForm是把<jsp:useBean>和javabean合二为一,并且和Action(主动,通过配置,这一定程度降低了耦合度)关联,我觉得是一种进步,虽然不是足够灵活;理想的应该是无须ActionForm和Action区分成两个类,并且一个命令不需要单独对应一个Action。前者有JSF的BackingBean来搞定,绝对的进步;后者由Struts的DispatchAction来搞定,对应的JSF也有这个功能。你说的“多人开发必须一个个通知”,这意味着你并没有用好团队合作开发的工具,首先,大家公用cvs,cvs本身在编译的时候就会意识到;同时cruitcase(忘记具体名字了)能够自动发出错误通知mail。这一点我想楼主应该多注意团队开发的环境搭建了。
3、动不动就要修改struts-config,多人开发时 耦合程度极高,往往不得不等别人用完才能继续开发。
这个我觉得很愤怒,而且有点质疑楼主对Struts的熟悉程度或者用心看过文档规范的态度,唯一可以说的就是struts-config文件可以多个,我常常用的就是struts-config-cy.xml 表示是cy(崔毅)在开发中使用的struts-config.xml,同样给别的参与者的也是这个格式,这就意味着我们一个工程中有多个struts-config- 文件最后严重鄙视一下楼主,以便给楼主强劲的学习及改进的动力。