繁体   English   中英

我的WPF应用程序的后端层中是否需要WCF层?

[英]Do I need WCF layer in the backend layer of my WPF application?

我正在使用Entity Framework创建我的第一个独立桌面WPF应用程序。 我是否需要WCF层来访问数据库? 如果我直接从ViewModels调用DBContext,这是一个不好的做法吗?

TL; DR

简短的回答是:这取决于!

答案很长

这取决于您需要实施的用例。 如果你需要添加另一个抽象层--WCF层 - 来隐藏你的OR / M,你就可以做到。 但是,如果您的策略像独立的WPF应用程序一样容易,我就不会打扰制作WCF层。 您只需在应用程序中访问IDBContext ,但请记住,不要将视图模型与EF紧密结合。

总是值得尝试保持关注点分开!

这些担忧是:

  • 数据或持久性(EF)模型,用于将数据库映射到OO模型
  • 支持您的视图的ViewModel以及要显示的数据
  • 映射Persistence和ViewModel

通过这种方式,您可以实现轻量级设置,旨在实现更好的分离和更好的测试能力。

进一步的可扩展性

稍后在您的开发路径上,当您到达需要添加基础结构问题的点(如可作为公共API的WCF层)或共享数据库访问的入口点时,您可以轻松地将其添加为新项目,将其类放在接口后面(这些是您将作为参考添加到WPF项目中的唯一一个)并让这个项目具有确切的实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM