我正在写一个应用程序,业务逻辑的各个位可以在单独的组件坐下,然后将这些位被用来建立一个对象希望两个接口,这样的事情:处理与配置的插件与Ninject
public interface ISubjectSource {}
public interface IStudySource {}
public class Worker
{
public Worker(ISubjectSource subjectSource, IStudySource studySource)
{
....
}
}
单独的程序集可以包含各种实现ISubjectSource
和IStudySource
。然后随着一个配置文件:
"Study1":{
"assemblies":["Compare.Sql.dll"],
"mappingSource":"Compare.Sql.SqlSubjectSource,Compare.Sql",
"studySource":"Compare.Sql.SqlStudySource,Compare.Sql",
}
其中描述了什么是需要建立到工作人员的“Study1”。当各种源具有自己的依赖关系时(例如,Sql Sources接受处理创建连接的字符串可能来自不同文件的连接),我的问题就会到来。因此,我的问题归结为:我如何告诉Ninject,当我为study1创建一个工作者时,确保它获取这些对象,但是当我为Study2创建一个工作者时,它将获得这个另一组对象?