当前位置:  开发笔记 > 后端 > 正文

ASP.Net MVC以Web服务为模型?

如何解决《ASP.NetMVC以Web服务为模型?》经验,为你挑选了1个好方法。

有没有人有关于在ASP.Net MVC应用程序中使用Web服务作为模型的建议或提示?我没有看到有人写这样做.我想构建一个MVC应用程序,但不是将它绑定到使用特定数据库,也不是将数据库限制为单个MVC应用程序.我觉得一个Web服务(RESTful,很可能是ADO.Net数据服务)是要走的路.



1> SerialSeb..:

您的MVC应用程序与数据库分离的可能性或有用程度有多大?在您的应用程序生命周期中,您经常看到从SQL Server到Oracle的更改?从我交付的最近10年的项目来看,它从未发生过.

建筑就像洋葱一样,它们在所依赖的东西之上有各种抽象层.如果您打算使用RDBMS进行存储,那么这就是您架构的核心.从数据库中提取自己,以便你可以交换它是一个非常谬误.

现在,您可以将数据库访问与域分离,并且存储库模式是执行此操作的方法之一.目前大多数成熟的解决方案都使用ORM,因此如果您需要成熟的技术,可能需要查看NHibernate,或者在数据之上使用ActiveRecord/linq2sql来查看更简单的活动记录模式.

既然您已经制定了数据策略,那么您就拥有了某种域名.当您向客户端公开数据时,您可以选择通过MVC模式执行此操作,您通常会在其中发送从域生成的DTO以进行呈现,或者您可以决定利用REST之类的体系结构样式来提供更松散耦合的系统,通过提供链接和自定义表示.

当你走向解决方案的外层时,你会从紧耦合变为松散耦合.

但是,如果您的问题是在REST架构或Web服务之上构建MVC应用程序,并将其用作模型......为什么要这么麻烦?如果您要拥有域模型,为什么不在您的系统服务中重复使用它?

从MVC应用程序生成UI并生成RESTful架构所需的文档是两个完全不同的上下文,基于彼此之间的基础只会导致比需要更多的痛苦.你牺牲了性能.

取决于您的确切场景,但远程基于XML的服务作为MVC中的模型,从经验,不是一个好主意,它可能过度工程并忽视域开始的需要.


需要切换数据库是一种昂贵的抽象,并且需要昂贵的开关.这是宇航员架构要求之一,当转换发生时,仍然需要花费同样多的成本.对于大多数情况,建立一个数据库的好处要好得多.如果需要进行切换,那么无论如何都会花费成本,而且我认为它可能比设计数据库不可知的方案花费更少.即使使用ORM a la nhibernate,仍然会出现不一致,不兼容,变量排序等.
"你的MVC应用程序与数据库分离的可能性有多大?" - 我不明白为什么每一张海报都需要告诉提出问题的人他们错了,除非它符合你自己强加的模式,即驳斥问题的先决条件(他提出的问题),而不是问问的核心问题.问题本身!
亨里克,我认为问一个问题的原因是非常健康的,而不是盲目回答.这是货物崇拜发展的文化,并且缺乏对导致大多数软件开发噩梦的原因的彻底质疑.当你去看医生时,你不会问他们应该服用哪种抗生素,你问他们是否可以治愈你的病.
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有