|
1
4
您可以这样定义类:
注意主窗体如何不知道这里的DAL。现在我们确实需要一段知道所有类的代码,这样它们就可以连接在一起了。这通常在应用程序开始时完成:
当然,这是一个简化的例子。如果您在实践中有几十个或几百个类,那么这种启动连接可能会变得非常大和复杂,尤其是当循环依赖性发挥作用时。这就是为什么依赖注入框架被创建来用XML配置文件、按代码配置或.NET属性替换代码。不过,基本思想是一样的。 .NET依赖注入框架示例: AutoFac Castle , Spring.NET StructureMap , Ninject 以及 Managed Extensibility Framework . |
|
|
2
2
|
|
|
3
0
如果您想避免必须从UI dll引用数据访问dll,那么可以将数据访问接口/基类提取到第三个库中,并使其他两个都引用该库。 |