在使用 Windsor 安装程序时,我们一直将它们视为配置,因为顶级应用程序负责它们,允许调用应用程序设置自己的生活方式等。
我开始怀疑这是正确的方法,例如我们有一个被许多应用程序使用的域 DLL,这意味着我们必须在使用该域的每个应用程序中重复相同的安装程序,并在新的依赖项时更新所有应用程序被添加。
我们的安装人员应该住在哪里?域应该是自我注册的吗?我们是否充分利用了金莎?
在使用 Windsor 安装程序时,我们一直将它们视为配置,因为顶级应用程序负责它们,允许调用应用程序设置自己的生活方式等。
我开始怀疑这是正确的方法,例如我们有一个被许多应用程序使用的域 DLL,这意味着我们必须在使用该域的每个应用程序中重复相同的安装程序,并在新的依赖项时更新所有应用程序被添加。
我们的安装人员应该住在哪里?域应该是自我注册的吗?我们是否充分利用了金莎?
您可以为每个项目创建一个 WindsorInstaller,以便将所有项目特定的注册和配置封装在其中,而不是由使用程序集的项目决定。
然后,依赖程序集只需要在初始化容器时传入安装程序。
安装程序是应用程序级别的引导程序,因此应该位于应用程序根目录中。
这有几个优点,我不会详细说明。
更重要的是这个:
即使您的多个应用程序最终会使用完全相同的一组给定组件的安装程序......那又如何?
这是偶然的,并且试图通过重用安装程序的几行代码来“优化”它是 IMO 明智的做法。
相反,通过使您的安装程序特定于应用程序,您获得的是轻松更改它们的灵活性,并且随着应用程序的成熟,您会发现您需要调整安装程序,以适应您的应用程序的特定需求。
希望有帮助