1

我完成了一个新的 MVC Web 应用程序,我的老板让我为新客户创建一个新版本。相同的 Web 应用程序,但不同的 CSS 和两个新模块(对于模块,我的意思是用户用来与 DB 交互的新页面)。这没什么大不了的,而且很容易做到,只需在我的 Eclipse 中复制项目并修改它。两天的工作和项目完成。干得好,都很开心,但我不开心。

我在想wordpress,它真的是可定制的,只需创建一个新的模板和插件并激活它。我想做一些类似的事情来减少新版本的部署和代码维护。我的问题是,我怎样才能用 Spring 做类似的事情?或者更好的是,是否可以创建一个新模块并将其部署到 Web 应用程序?Spring 动态是 MVC Spring 应用程序的正确选择吗?

谢谢,
安德里亚

4

1 回答 1

0

我不认为你的方法是正确的。您需要与您的经理讨论这种情况是否会再次发生。因为对我来说它看起来可能。

让我们想象一个场景:您有许多应用程序副本,它们之间有一些小的增强或更改。一个月后,一位客户报告了一个非常讨厌的错误,必须在您的每个应用程序实例中进行修复。想象你的痛苦。

为什么不考虑多租户?

  • 实施白标,以便根据客户,您的应用程序可以获得不同的外观;
  • 扩展后端,让客户永远看不到彼此的数据
  • 实施可配置的功能,这样一位客户就不会看到您的老板出售给另一位客户的扩展功能。当他确实出售它们时 - 这将是在数据库/配置中切换一些标志的问题。

不想支持多租户或产品物理部署在不同的(客户)服务器上?没关系!如果您发现错误,您只需修复一次,然后将 jar 文件重新部署到所有受影响的系统。

当然,以上不是两天的工作,但这种方法可能会节省更多。

至于您的问题,Spring 允许您通过可变样式和布局自定义其外观。我建议您使用 Spring Roo 创建一个示例 Web 应用程序,看看它是如何完成的。但是,如果我是你,我仍然希望至少在项目之间拥有一个共享的代码库。

于 2012-06-11T13:27:49.407 回答