这个问题真的需要框架吗?

Posted

技术标签:

【中文标题】这个问题真的需要框架吗?【英文标题】:Is frameworks really necessary for this problem? 【发布时间】:2011-01-10 09:26:23 【问题描述】:

我正在为我的客户创建一个在线音乐商店应用程序(Java 中),用于已签名和未签名的艺术家。

我目前正在为我的 Web 应用程序使用 Struts 1.3.10(我被推荐使用 Spring,但 Spring 设置有点类似于 Struts)。

我的数据库目前是 mysql 5(或更高版本),我正在使用 DAO 模式与之对话。使用 Struts 和 DAO 有一些限制(例如,Struts 中的多文件上传与多字符串参数的实现方式不同,对于 DAO,缺少发布-订阅功能)。

我正在做的事情是最好的前进方式,还是应该直接使用 Hibernate(或类似的)并退出 Struts?您在使用相同设置时遇到了哪些性能影响或技术问题?

客户不在乎我怎么做,只要做好就行了。

【问题讨论】:

【参考方案1】:

您也可以同时使用 Struts 和 Hibernate。 Hibernate 的关键在于您可以存储整个对象,而不必担心它。 Hibernate 的性能相当不错。它很容易用于存储对象,而当你想要高级的东西时很难理解。

【讨论】:

【参考方案2】:

如果您对编写它的内容完全无拘无束,并且假设您想使用 Java 平台,那么也请查看JBoss Seam 和/或Grails。两者都可以使用 Hibernate 作为持久性引擎,并拥有 RAD 工具来允许快速构建骨架 CRUD webapps。 Seam 是一个特别丰富的框架,提供各种内置功能,如任意事件侦听器、Ajax 更新、文件上传等,但需要花点时间了解,而 Grails 更容易上手。

Struts 1.3 现在有点老了(尽管仍然是一个很好的 MVC 框架),新的框架更好地支持处理对话(即跨多个请求的工作流),Struts 1.x 和 Hibernate 有时会让人有点尴尬,以及您可能希望在某些时候实现的 AJAX 功能。您提到的 Spring MVC 也不错,但与我之前提到的框架相比,它是一个轻量级的框架。现在 SpringSource 也支持 Grails,所以可以说它应该“有腿”。

【讨论】:

以上是关于这个问题真的需要框架吗?的主要内容,如果未能解决你的问题,请参考以下文章

这个数组真的需要扩展语法吗?

我真的需要 ORM 吗?

我们真的需要使用RxJava+Retrofit吗?

Boost.Test 的数据测试用例真的需要 C++11 吗?

软件快速交付真的需要以安全为代价吗?

你真的了解 advice, joinpoint,pointcut,aspect吗?