java - 将现有凌乱的 web 应用程序迁移到优雅的 MVC 的最佳方法是什么?

标签 java model-view-controller jsp architecture

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




大约一个月前,我加入了一家新公司。该公司规模较小,具有很强的“初创”感。我在其他 3 人的团队中担任 Java 开发人员。该公司主要向企业/业务类型的人销售用于相互交流的服务。

我一直并将从事的主要工作之一是公司的主要网站 - 销售服务,现有用户登录以检查他们的服务并支付账单,新用户可以注册试用等。目前这是一个部署在 Tomcat 上的 JSP 应用程序,可以通过公司自己编写的持久层访问数据库。

我在这里遇到的反复和越来越大的挫败感(我对整体工作非常满意,所以这不是“哦,不,我不喜欢我的工作”类型的帖子)是缺乏任何更大的设计或此 Web 应用程序的架构。该应用程序由几十个 JSP 页面组成,在 Servlets 或 Beans 或任何其他类型的框架中几乎不存在逻辑。很多JSP页面都是几千行代码,它们jsp:include其他JSP页面,业务逻辑与HTML混在一起,经常使用的代码片段(如获取Web服务连接)被剪切和粘贴而不是重用等等。换句话说,应用程序是一团糟。

公司内部有一些声音试图重新构建这个站点,以便它更好地适应 MVC;我认为开发人员和高层开始意识到这种当前的意大利面条式代码模式是不可持续的,或者很容易扩展以为用户添加更多功能。高层和开发人员对完全重写这个东西持谨慎态度(有充分的理由,因为这意味着需要几周或几个月的时间来重写现有功能),但我们已经就(缓慢地)重写进行了一些讨论。将网站的某些区域写入新框架。

使应用程序和代码库朝这个方向发展的最佳策略是什么?作为一名开发人员,我如何才能真正帮助插入这一进程,而且不会看起来像一个进入工作并告诉每个人他们写的东西都是废话的 SCSS 新人?当您遇到此类事情时,您在自己的工作经历中是否使用过任何行之有效的策略或经验?

最佳答案

你最好的办法可能是在你进行的过程中慢慢重构它。很少有人拥有完全从头开始处理埋藏着如此多业务规则所需的资源。当您花费数月时间开发的应用程序比您替换的应用程序存在更多错误时,管理层真的很讨厌它。

如果您有机会从头开始构建任何单独的应用程序,请使用那里的所有最佳实践并使用它来证明它们的有效性。如果可以,请逐渐将这些想法融入旧应用程序中。

关于java - 将现有凌乱的 web 应用程序迁移到优雅的 MVC 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242/

相关文章:

java - 如何从 Tomcat 中的 Web 应用程序在 Linux 中重启 Tomcat?

java - 如何将 Guice AssistedInject 与接口(interface)的多个实现一起使用?

java - 打开窗口/阶段JavaFX时调用代码

java - 如何实现一个真正的异步 java 线程

ruby-on-rails - 从我的 Controller 更新数据库字段时出现问题

eclipse - 404 错误 Apache Tomcat 7 从 Eclipse Juno IDE 运行 JSP 文件

swift - 创建可重用 View 时如何分配 TextField 委托(delegate)和方法

c# - 创建自定义任务按需缓存数据到html

css - 根据内容调整 InfoWidow 高度,从而删除滚动条

java - JSP搜索数据库