我正在为多个客户端创建一个应用程序,每个客户端的实现之间有相似之处和不同之处。我为ORM的UI和实体框架使用了Win Forms和WPF的组合。我需要的是尽可能重用共享组件的能力。针对多个客户端的多个项目的方法
其中的一个关键问题是,一个客户的数据库是Oracle,另一个是MS SQL,现在我有两个工作,但只能通过改变在编译时元素。这意味着我必须有两套几乎完全相同的项目,只是略有不同的数据项目。如果在一个UI中发现错误,我必须打开另一个解决方案并在那里编辑它。
我在之前的项目中使用过Ninject,尽管可能会以某种方式颠倒Data项目的控制权,将特定的项目/类注入到UI中,而不是直接调用它们的UI。
,我似乎无法弄清楚的问题是如何注入整个项目。我希望能够在UI db.Customers.ToList();
中说出并让它从我注入的任何数据项目中返回客户。这两个客户端的数据库模型在这一点上是相同的,尽管他们将来可能会改变。
我敢肯定,必须有一个可以让我在一个共享能力使用这些资源的模式。
谢谢
您不应该将客户项目拆分为不同的解决方案吗?您是否尝试过将没有客户端特定内容的“核心”解决方案制作成类库(或库),然后制作客户端解决方案并引用这些DLL? –