具有一个基本代码和多个版本的Java编程

时间:2017-02-03 04:09:02

标签: java design-patterns web-applications

基本上,我有一个'基地'代码是程序的主体,并且希望能够根据每个客户的个人要求在类上添加单独的库/模块/。当我设置程序时,我将选择版本(base,customer1,customer2)。这是一个在tomcat7 apache服务器Java1.8上运行的基于webbed的服务。

这样的事情有可能吗?

编辑:某些自定义项与新字段,新方法或新类一样小。

1 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但听起来您需要为您的系统添加一些核心代码,然后您可以添加功能以便为特定客户进行自定义。

可以通过使用OSGI框架编写代码来实现自定义,例如apache felix或equinox(内置于eclipse中)。这些框架表面上是插件框架,允许您动态添加和删除模块,但它也允许您将代码编写为可以组合到您的规范的单独包。 here是使用equinox的好教程。

关于自动执行每个客户自定义的任务,可能值得您研究像Chef这样用于自动配置服务器软件(如apache或mysql)的东西,它可以让您编写一个"配方"为每个客户提供个性化定制。一旦编写了各种OSGI插件,您所要做的就是编写一个脚本将它们放在一起并运行它,之后您就可以将定制的软件发送给客户。