我有一组应用程序,它们都使用相同的基本代码库--一些ASP.NET web项目、一些WCF服务(在ASP.NET下运行)、一些Windows和几个可执行文件。它们中的大多数甚至位于单个Visual解决方案中。
就注入而言,各种应用程序之间有很多重复。它们通常需要相同的数据库连接、相同的具体对象等。
由于重复,我有一个名为IoC的项目,它包含我的StructureMap注册表。但是,随着应用程序需求的不同,这一点正在分崩离析。有些应用程序不需要能够实例化某些类型。此外,这个项目正在成为一个“上帝大会”,几乎每一个项目的解决方案。
对StructureMap注入进行分区以提供以下功能的最干净的方法是:
基于每个项目的duplication
发布于 2010-03-31 20:36:34
我假设您有一个包含大量公共服务的“核心”程序集,并被所有其他项目引用。它可以有一个StructureMap注册表,它配置自己的服务和公共配置值。这应能解决大多数重复问题。
提供新服务的每个附加程序集都有自己的注册表,该注册表配置自己的服务。
每个应用程序都有自己的引导程序,它将容器配置为它想要加入的各种注册中心,以及对特定于该应用程序的任何服务注册的重写。这提供了每个应用程序的可变性。
您将有复制,因为每个应用程序都有自己的引导程序。但大部分工作应委托给各书记官处。如果您认为引导程序像配置文件一样,那么复制应该更容易接受。
https://stackoverflow.com/questions/2549200
复制相似问题