假设ApplicationSettings类是应用于我的应用程序的设置的一般存储库,例如TimeoutPeriod,DefaultUnitOfMeasure,HistoryWindowSize等等......让我们说MyClass使用其中一个设置 - DefaultUnitOfMeasure.
我正确使用Inversion of Control Containers - 如果我错了,请纠正我 - 是你在构造函数中定义类的依赖关系:
public class MyClass { public MyClass(IDataSource ds, UnitOfMeasure default_uom) {...} }
然后用类似的东西调用实例化你的类
var mc = IoC.Container.Resolve();
其中的IDataSource已分配的具体实施和default_uom已经有线了从实例ApplicationSettings.DefaultUnitOfMeasure财产.然而,我不得不怀疑,如果所有这些篮球真的有必要跳过.我应该为自己做什么麻烦
public class MyClass { public MyClass(IDataSource ds) { UnitOfMeasure duom = IoC.Container.Resolve("default_uom"); } }
是的,我的许多类最终都依赖于IoC.Container,但这是我的大多数类都会依赖的依赖项.只要类是耦合的,我似乎应该充分利用它.请敏捷的大师,告诉我哪里错了.