【发布时间】:2009-02-12 17:31:05
【问题描述】:
我们有一个博客系统,我们出售给许多不同的客户(包括在许多不同的项目中)。该系统包括许多不同的文件——一些 aspx 页面、一个或两个 ascx 控件、一个 css 文件、一个 javascript 文件和一些 codebehind/vb.net 实用程序文件。一般来说,这个模块 90% 以上的内容在客户之间是相同的——但当然每个客户都想要一些定制——从装饰性的 html/css 更改到服务器/客户端逻辑调整。
目前,为了将我们的博客系统部署到一个新项目,我们只需复制文件(来自我们上一个工作的项目)并根据需要自定义文件……但现在我们有 10 个独特且不兼容的博客系统副本。仅仅让博客系统在每个项目中运行需要相当长的时间——并且将改进从新的博客系统传播到旧的系统和维护是一件真正令人头疼的事情。
理想情况下,我们的博客系统文件应该有一个“黄金副本”,用于一般 (90%) 案例。我们可以将那个黄金副本添加到一个新项目中,让一个博客系统几乎可以立即运行——但是我们可以根据需要添加或自定义文件。更好的是——随着我们对“黄金副本”的改进,这些更改可以轻松部署到我们所有的站点——同时尊重我们为客户所做的定制。
我知道我们可以添加新的 css 文件来更改基类并添加新的 vb.net 类来覆盖基本服务器端逻辑 - 但我真的不确定如何处理 aspx、ascx 和 js 文件。 理想情况下,我们可以找到基于文件或源代码安全的解决方案 - 例如,如果存在带有自定义设置的新文件,它将自动覆盖黄金文件中任何相应的标记/js/etc。当然我们是开放的所有解决方案 - 这似乎是一个非常常见的场景,所以我希望有人会开发出“最佳实践”。我所描述的甚至可能吗?任何建议或方向都非常感谢 - 在此先感谢!
肖恩
【问题讨论】:
标签: asp.net version-control visual-sourcesafe code-reuse