同一应用内多个版本的提示

时间:2019-01-15 16:50:19

标签: architecture versioning maintainability clean-architecture multiple-versions

我们有一个单页应用程序(AngularJS,Asp.net Web API,IIS上的MVC),具有一个独特的要求:当我们添加新功能并修复错误时,该应用程序内的所有现有用户项目均不会受到影响并需要以便能够继续以该版本的方式运行,就好像没有发生更改一样。该应用程序通过数百个输入字段从用户那里获取数据,并运行复杂度模拟以计算结果以显示给用户。当前,当我们更新应用程序时,我们复制了一堆代码以确保新版本是完全独立的。我专注于UI方面,因此,例如,如果我们添加新的输入,则该输入不会针对新版本显示。另一个示例是更改现有输入的处理/解释方式。

展望未来,我们希望不再重复编写太多代码,因此,如果我们遇到框架变更或安全风险,可以将其修复为一组代码,而不是所有这些重复代码。我的问题是如何做到这一点?在我的脑海中,我正在想象大量的IF语句或SWITCH语句,每个版本都与以前版本不同。 Angular非常适合于动态UI,但我们倾向于每年有2-4个新版本,因此2年后已经是8个版本。因此,我可能会在混乱的地方到处输入ng-if =“ version == 3.41”,并且将函数分解成case语句。保持清洁,维护状态,以及让其他开发人员了解代码在任何给定版本中的作用,似乎是一场噩梦。

因此,我正在寻找类似这样的提示或指南链接。如何以一种不会重复任何内容,将其保留在一个网站上并且易于理解的方式干净地分离C#和JavaScript代码?就像工厂模式为您提供了检索一个类的多个版本的接口一样,我觉得有一种类似的方法可以构造代码,以便我可以排序检索或封装特定版本的代码。 / p>

0 个答案:

没有答案