我有一个解决方案,其中包含一个核心客户端库和一个实现UI和平台特定操作的平台特定客户端。核心客户端库包含对静态工厂方法的引用,该方法需要针对不同目标的平台特定具体实现(实际上是PCL的包装,为每个平台提供不同的组件)。
我在项目的不同阶段使用Ninject,并希望在此处应用相同的内容。唯一的复杂因素是使用者和提供者位于不同的名称空间和单独的.vsproj项目中。
我在想,解决这个问题的一种方法是提供一个实例化服务(一个带有get和set的静态类,围绕一个静态字段),它可以为核心库设置内核,一旦依赖已绑定在消费客户。但是,我不太清楚这是最佳做法,还是能够工作。