我正在尝试学习依赖注入,我正在使用统一应用程序块来帮助。
我想要做的是,有一个控制台应用程序,它将注册一个类(只要它实现一个特定的接口)并执行一个方法...... 因此,将执行实现该方法的类的方法。
希望这是有道理的...在正确的方向上一个好的推动将是完美的!
我正在查看msdn上的文档,但我仍然不能100%确定如何去做。
THX 史蒂夫
答案 0 :(得分:1)
var container = new UnityContainer();
container.RegisterType<IFoo, Foo>();
container.Resolve<IFoo>().Bar();
当调用Resolve时,它将返回Foo
的实例,因为那是为IFoo接口注册的。
Unity没有像更先进的DI容器那样的基于约定的注册功能。如果你想要后期组合,你可能想要看一下MEF。
答案 1 :(得分:1)
您可以观看以下30分钟的YouTube视频,该视频将逐步解释如何将DI与统一应用程序块一起使用
答案 2 :(得分:0)
我从未听说过MEF,但您需要做的就是实现一个简单的插件模式。我曾经写过一篇文章,讨论如何为数据库引擎做这个,但它可以很容易地应用于实现接口的任何东西:
http://www.simonrhart.com/2009/04/example-of-plugin-pattern-on-compact.html