C# 分层应用程序中的接口应该放在哪里
Where should interfaces go in C# layered app
我正在构建一个 C# WPF 应用程序,该应用程序将使用 IBM iSeries 数据供初学者使用,但稍后将通过 Web 服务使用 oracle 数据。为了在它们之间切换(并支持测试),我们创建接口并将视图编程为接口,对吗?每个数据源都负责映射到视图模型中使用的通用 DTO 结构。
那么如果这两个实现接口的数据源在不同的项目中,接口定义在哪里呢?我正在考虑如何定义接口,这样我就不必在各自的数据源项目中保持单独的版本。如果我在视图中创建接口,那么它会创建循环引用,接口需要视图的数据源和依赖注入需要数据源的视图。
请原谅我这个相当笼统的问题。我不是在问“我如何构建我的应用程序”,而是我如何解决界面机制的具体问题。
谢谢,迈克
将它们放在一个单独的项目中。在您想使用它们的任何地方添加对该项目的引用。
我正在构建一个 C# WPF 应用程序,该应用程序将使用 IBM iSeries 数据供初学者使用,但稍后将通过 Web 服务使用 oracle 数据。为了在它们之间切换(并支持测试),我们创建接口并将视图编程为接口,对吗?每个数据源都负责映射到视图模型中使用的通用 DTO 结构。 那么如果这两个实现接口的数据源在不同的项目中,接口定义在哪里呢?我正在考虑如何定义接口,这样我就不必在各自的数据源项目中保持单独的版本。如果我在视图中创建接口,那么它会创建循环引用,接口需要视图的数据源和依赖注入需要数据源的视图。 请原谅我这个相当笼统的问题。我不是在问“我如何构建我的应用程序”,而是我如何解决界面机制的具体问题。
谢谢,迈克
将它们放在一个单独的项目中。在您想使用它们的任何地方添加对该项目的引用。