在客户端视图中重新使用数据库模型是否被认为是不好的做法?

Is re-using database model in client view considered bad practice?

假设我的数据库中有一个用户 table。在我的 WCF 服务中,它会生成 POCO。如果我一直重复使用这个 POCO 直到客户端 GET 请求的结果。这是流程:

browser/client <-- REST API (Web API 2) <-- SOAP API (WCF) <-- Database

这被认为是不好的做法吗? 如果是这样,为什么?

我能想到的唯一原因是它揭示了数据库结构。

这是一个权衡

优势

  • 更少的代码
  • 更少的映射边界
  • 更少的概念开销

缺点

  • 多个
  • 上非常高耦合
  • 架构更改更困难(不影响客户端)
  • Web 服务中潜在的阻抗不匹配,因为 DB 问题泄漏到 API

就我个人而言,我认为您提到的所有这些层之间的耦合有点太多了。我只会将这种方法用于没有可维护性要求的快速破解。

但是你得自己权衡利弊。