1

我们有一个网站应用程序,可为特定客户存储数据和图片。我们即将发布相同的应用程序供其他客户使用。第二个应用程序最终将为第二个客户定制。最终,我们希望有几个客户使用他们自己的应用程序版本。

我们在 Visual Studio 2012 中使用 ASP.NET。我们应该:

  1. 克隆现有应用程序并维护单独的代码库?
  2. 将项目添加到新客户的现有解决方案中?

我们已经寻找答案,但这似乎是一种罕见的情况。

谢谢。

4

2 回答 2

1

我不认为它是罕见的。SAP 和 Maximo 使用这种商业模式。相同的核心,但每个包都根据客户的规格定制。我已经用我们拥有的一些程序做到了这一点(规模要小得多)。

  1. 我们总是开始一个新项目,而不仅仅是复制旧项目。不知道引用旧客户的旧客户中有什么。当您忘记的“关于”窗口是给别人的公司时,有点尴尬。

  2. 所有可定制的代码、表单、报告都应该在该客户的项目中。所有标准的代码、表格、报告都应该在一个库中。

于 2013-08-09T12:37:28.927 回答
1

这实际上取决于应用程序的范围。我不得不在我工作的公司内部做这件事;我为一家公司编写了一个解决方案,然后姊妹公司发现并想要相同的解决方案,不得不在那里实施。

我有一个相当小的项目要处理,所以很容易让它通用(同时也让事情源于相同的代码库)。我所做的只是:

  • 打破独特的设置[页面标题?]使用appSettings或类似。
  • 为您的解决方案添加新配置。然后利用 *.config 迁移到:
    • connectionStrings
    • 指定appSettings

当谈到独特的业务逻辑时,我有幸使用 *.config 迁移(我收集的大部分数据来自公司本地服务的 WCF 端点)——所以我很幸运。但是,您可以在应用程序中创建通用接口,然后将每个公司的实现分解到单独的库中。

于 2013-08-09T12:45:35.103 回答