我的组织有一个 .NET 解决方案(C# MVC),我们正在努力尝试保持我们的解决方案可重用但同时可扩展。
我们有 4 个客户
A B C D
这些客户中的每一个都需要一个网站,每个网站都非常相似,比如 90% 相似。因此,我们创建了一个基本模板,其中包括数据层、核心、服务和 Web 层(包括控制器/帮助器/映射/验证)。所有客户端都将使用此模板。客户端不会共享代码的唯一部分将是标记和将应用于该客户端的主题。甚至脚本/基本 css 也将在客户端之间共享。
到目前为止,这已经工作了大约 7 个月,相对较好。
客户端 A 和 B 已部署并投入生产。
我们目前正在开发客户端 C,客户端 D 尚未实现。
在客户端 C 上工作时,客户端 A 和 B 还需要修复错误/功能更改等。但是,由于我们在客户端 C 上工作,模板并不总是“准备好生产”,因此将为客户端 A 和 B 发布未经测试代码的代码. 我们现在一直在直接在客户端 C 中实现大部分功能,以避免对模板进行更改。
当然,一个简单的选择是分支并在分支上工作,但是因为我们被迫使用 TFS,这使得它变得困难。很可能我们只会从那里分支并工作,但是是否有任何其他建议(信息来源)来了解其他人如何解决此问题?