我正在创建一个应用程序,它使用DI容器将策略注入其中。 部署后,如果我需要更改这些策略,使用新策略部署新程序集是否是有效的部署策略,并修改配置文件以指示DI容器使用哪种策略?
我担心的是,在一台机器上对应用程序进行版本控制会变得有点模糊,因为不同的dll会有不同的版本号。
答案 0 :(得分:2)
这是完全有效的,这甚至是依赖注入的巨大好处之一:它允许模块化开发 - 因此也允许部署:您不必部署所有应用程序,而只需部署已修改的程序集(使用你案子中的新策略。)
关于版本控制问题:通常的做法是应用程序包含许多软件模块(vulgo:assemblies),它们具有不同的版本号。这是规则,而不是特殊的。因此,所有DLL的版本号列表至关重要......
托马斯
答案 1 :(得分:1)
DI的最佳功能之一是模块化应用程序和易扩展性。我认为您通过使用配置文件正确完成并让DI加载您的策略。
对于Versioing问题,您可以考虑ClickOnce部署。哪个可以减少这个版本的问题。