我当前正在编写第三方软件中使用的软件。
第三方软件在全球范围内使用,并且不同的客户将使用该软件的不同版本。例如,v1,v2,v3。
当前,我有使用v1,v2和v3的客户端,因此我需要我的代码可以跨不同版本工作。我想知道其他人如何通过管理代码,针对不同版本测试代码等来解决此问题。
答案 0 :(得分:0)
此方案的一般规则是由配置驱动,而不是由整个代码中的if / else语句驱动。来自v1,v2等的特定规则。
此外,您还需要对默认应用程序进行一些处理。
在您的情况下,配置将是用于依赖项注入的服务容器接线文件,该文件针对您的不同客户端-v1,v2具有不同的实现。 使用依赖注入,您将拥有通用的应用程序流程,并且可以通过不同的实现来更改基础业务逻辑。
您可以引入不同的配置变量,以便可以更改构建时间值。
关于通用代码,可以结合使用装饰器和命令设计模式以具有适当的结构。
如果要为客户端关闭某些功能,则另外一种模式是可为空的对象。
关于测试-根据客户要求的TDD和BDD,您将在特定于客户的情况下隔离所有逻辑。
命名应基于功能而非客户端进行。
您可以搜索有关构建可白化应用程序的更多信息。