繁体   English   中英

使用外部Web服务时的ASP.NET MVC模型

[英]ASP.NET MVC models when using external web services

我从一个新的MVC项目开始,那里有一些特殊的规则和一些陌生的地方,这让我感到困惑。 具体来说,我可以访问包含我所有数据的数据库,但是必须完全通过外部Web服务进行处理。 不要问我为什么,我不明白原因。 就是这样。

因此,将通过此API处理CRUD。 我正计划创建一个服务层来包装所有调用,但是我无法将自己的头绕在模型上。要创建基于模型的域对象(客户,订单等)。我是不是该:

  1. 手动创建它们
  2. 创建一个虚拟数据库并指向一个ORM
  3. 将ORM指向现有数据库,但忽略ORM代替API的持久性。

我觉得我已经掌握了构建该应用程序所需的所有信息,但是我对API有所了解。 任何指示或建议,将不胜感激。

根据您正在执行的规模,选项3很危险,因为您假设数据库模型与外部服务公开的模型相同。 选项1和2彼此之间没有太多不同-在两种情况下,您都必须决定对象,属性和行为的含义-归结为您是否更愿意在课堂上这样做或数据库表。

关键是要确保外部服务调用隐藏在某种包装器后面。 然后我个人将一个存储库放在其上,以处理查询外部服务包装程序并返回域对象。

通常,ORM因其生成干净域模型类的能力而闻名。 ORM以创建数据层而闻名,在这种情况下,您似乎不需要。

您可能会使用T4之类的代码生成工具来基于Web服务或数据库在域模型类上生成代码,以节省时间。 否则,您可能只是手动创建域对象。 即使您的代码在域对象上生成了第一遍,也不太可能存在从数据库或Web服务到您的域对象的清晰1-1映射,因此您可能需要花费大量时间手动编辑代码生成的域无论如何。

暂无
暂无

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

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