我有一个需要访问数据库值的 Web 应用程序。目前,Web 项目创建了一个 DB Project 类的实例,并使用它通过类的各种函数来提取值。然而,每当数据库表发生变化时,我们都必须更新我们的代码以适应新的表/结构。所以我正在尝试重新组织依赖项,以便 DB 项目中的 DB 类实现 Web 项目接口。
这应该没问题,并且需要 DB 项目简单地引用 Web 项目。但是,据我所知,无论是否将其分配给接口变量,我仍然需要构建带有 Web 应用程序的 DB Project 类的具体实现。因此,我认为我还需要在 Web 项目中引用 DB 项目,从而导致我面临的循环依赖。
我在 asp.net 4.0 工作。
我的 Web 项目如何在不直接引用项目的情况下访问 DB 项目类的实例?
答案 0 :(得分:2)
您将只在您的网络项目中使用接口。 DB 项目类实现了这些接口。因此,您的数据库项目需要引用定义接口的任何项目。
您的启动项目将使用依赖注入将具体的 DB 类连接到接口,并在创建 Web 类时提供它们。
因此,一种方法是拥有这些项目
您可以根据您想要减少耦合的程度来组合上述一些内容。例如,您可以将 Web 和 Startup 结合起来。