我正在为多个客户端创建一个应用程序,其中每个客户端的实现之间既有相似之处,也有不同之处。我将 Win Forms 和 WPF 混合用于 UI 和 ORM 的实体框架。我需要的是尽可能重用共享组件的能力。
关键问题之一是一个客户端的数据库是 oracle,另一个是 MS Sql,现在我可以同时工作,但只能在编译时更改元素。这意味着我必须有两组几乎相同的项目,只是数据项目略有不同。如果在一个 UI 中发现错误,我必须打开另一个解决方案并在那里进行编辑。
我在以前的项目中使用过 Ninject,尽管可能会以某种方式反转 Data 项目的控制,将特定的项目/类注入 UI,而不是 UI 直接调用它们。
我似乎无法弄清楚的问题是如何注入整个项目。我希望能够在 UI 中说出来,db.Customers.ToList();
并让它从我注入的任何数据项目中返回客户。这两个客户端的数据库模型在这一点上是相同的,尽管它们将来可能会改变。
我确信一定有一种模式可以让我以共享的身份使用这些资源。
谢谢