使用 Web 时在何处创建模型 API

Where to create model when using Web API

我检查了很多与 Web Api 相关的示例,它们都在 Web Api 项目包含的 Models 文件夹中创建了模型,但我很好奇如果您想 use/re-use 这些模型与各种项目,应该如何处理。

过去,在使用 WCF REST 时,我会创建以下内容:

  1. 商业模式项目(PCL)
  2. 业务层项目
  3. 数据层项目
  4. SQL 数据层项目
  5. WCF REST 项目
  6. 网络应用程序
  7. Windows 应用
  8. 第三方网络应用程序(javascript)
  9. 移动应用程序 (Xamarin)

项目 2 到 9 将全部引用项目 1,或者在使用 JavaScript 时将动态创建对象。业务对象项目仅包含 POCO 对象,大多数装饰有 DataContract/DataMember 个属性。

使用 Web Api 时是否可以应用相同的 logic/Project 细分?是推荐还是我会在后期遇到问题?

如果不推荐,我是否应该复制所有模型?看不懂所以想问一下。

谢谢。

简短回答,是的。使用 Web Api 时可以应用相同的 logic/Project 细分。这也是我实现我的架构的方式。您的 Web Api 只是您架构中的另一层。通过这样做,您将允许模型的更大可重用性 (DRY) 和可维护性。