【问题标题】:Do I need WCF layer in the backend layer of my WPF application?我的 WPF 应用程序的后端层中是否需要 WCF 层?
【发布时间】:2016-08-10 16:14:12
【问题描述】:

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

【问题讨论】:

    标签: c# wpf wcf


    【解决方案1】:

    TL;博士

    简短的回答是:视情况而定!

    长答案

    这取决于您需要实现的用例。如果您需要添加另一层抽象 - WCF 层 - 来隐藏您的 OR/M,您可以这样做。但是,如果您的策略像独立的 WPF 应用程序一样简单,我不会费心制作 WCF 层。您可以在应用程序中简单地访问 IDBContext,但请记住不要将您的视图模型与 EF 紧密耦合。

    始终值得尝试将关注点分开!

    这些担忧是:

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

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

    进一步的可扩展性

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多