使用 Web 时在何处创建模型 API
Where to create model when using Web API
我检查了很多与 Web Api 相关的示例,它们都在 Web Api 项目包含的 Models 文件夹中创建了模型,但我很好奇如果您想 use/re-use 这些模型与各种项目,应该如何处理。
过去,在使用 WCF REST 时,我会创建以下内容:
- 商业模式项目(PCL)
- 业务层项目
- 数据层项目
- SQL 数据层项目
- WCF REST 项目
- 网络应用程序
- Windows 应用
- 第三方网络应用程序(javascript)
- 移动应用程序 (Xamarin)
项目 2 到 9 将全部引用项目 1,或者在使用 JavaScript 时将动态创建对象。业务对象项目仅包含 POCO 对象,大多数装饰有 DataContract/DataMember 个属性。
使用 Web Api 时是否可以应用相同的 logic/Project 细分?是推荐还是我会在后期遇到问题?
如果不推荐,我是否应该复制所有模型?看不懂所以想问一下。
谢谢。
简短回答,是的。使用 Web Api 时可以应用相同的 logic/Project 细分。这也是我实现我的架构的方式。您的 Web Api 只是您架构中的另一层。通过这样做,您将允许模型的更大可重用性 (DRY) 和可维护性。
我检查了很多与 Web Api 相关的示例,它们都在 Web Api 项目包含的 Models 文件夹中创建了模型,但我很好奇如果您想 use/re-use 这些模型与各种项目,应该如何处理。
过去,在使用 WCF REST 时,我会创建以下内容:
- 商业模式项目(PCL)
- 业务层项目
- 数据层项目
- SQL 数据层项目
- WCF REST 项目
- 网络应用程序
- Windows 应用
- 第三方网络应用程序(javascript)
- 移动应用程序 (Xamarin)
项目 2 到 9 将全部引用项目 1,或者在使用 JavaScript 时将动态创建对象。业务对象项目仅包含 POCO 对象,大多数装饰有 DataContract/DataMember 个属性。
使用 Web Api 时是否可以应用相同的 logic/Project 细分?是推荐还是我会在后期遇到问题?
如果不推荐,我是否应该复制所有模型?看不懂所以想问一下。
谢谢。
简短回答,是的。使用 Web Api 时可以应用相同的 logic/Project 细分。这也是我实现我的架构的方式。您的 Web Api 只是您架构中的另一层。通过这样做,您将允许模型的更大可重用性 (DRY) 和可维护性。