asp.net-mvc – ASP.NET MVC ActionResult背后的推理是一个抽象
发布时间:2020-12-16 00:17:49 所属栏目:asp.Net 来源:网络整理
导读:在 ASP.NET MVC中,ActionResult类是操作方法从控制器返回的所有结果的基础,它被定义为使用单一方法的抽象类(?Microsoft): public abstract void ExecuteResult(ControllerContext context); 你能想到这个设计的具体原因吗?具体来说,对我来说似乎有点奇怪
在
ASP.NET MVC中,ActionResult类是操作方法从控制器返回的所有结果的基础,它被定义为使用单一方法的抽象类(?Microsoft):
public abstract void ExecuteResult(ControllerContext context); 你能想到这个设计的具体原因吗?具体来说,对我来说似乎有点奇怪 >没有IActionResult接口, 毕竟,如果这是一个接口而不是那个抽象类,那么就不需要扩展基类来创建一个新的ActionResult – 只需要正确实现IActionResult即可.在一个世界上,错误的语言,没有多重继承,这个优势对我来说似乎非常重要. 解决方法
接口非常适合允许类实现多个合同,例如当您知道类型必须是两个不同的东西时.在某些情况下,这可能会鼓励创建一个责任太多的类型.
行动结果只有一个责任,似乎没有任何情况下你需要一个对象同时是一个行动结果和其他东西.即使你这样做,也可以通过作曲来完成.因此,在这种情况下,我们选择ABS以便在RTM进行必要的更改后允许我们更大的灵活性. 但是,如果有一个特定的场景我们阻止接口更好,我们会考虑它.我们总是可以在以后不以破坏的方式做到这一点. 您甚至可以通过编写自己的动作调用程序来完成它,它只需要您实现IActionInvoker(一个接口),并且调用者可以检查您自己的IActionResult而不是ActionResult. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 使用MVC 4 SimpleMembership与现有的数据
- asp.net-mvc – DropDown列表onchange事件和MVC中的AJAX
- asp.net-mvc – asp.net mvc通用控制器
- 让OData和NHibernate结合进行动态查询
- asp.net – 如何在控件中显示十进制值?
- asp.net-mvc – 使用实体框架4.1创建复合主键
- asp.net – ELMAH登录SQL Server
- 消除代码中的坏味道,编写高质量代码
- regex – ASP Classic:检查字符串是否只包含有效字符
- asp.net-mvc – 没有区域的ASP.NET Web API中的多级路由
推荐文章
站长推荐
- MVC中TempData、ViewData和ViewBag的区别
- asp.net-mvc – 在asp.net mvc中实现stackoverfl
- 有没有办法将一个onclick事件添加到ASP.NET标签服
- asp.net-mvc-3 – 由Enter按钮触发的MVC3输入按钮
- ASP.NET WebApi 自带Json返回日期带T无法格式化的
- asp.net – 在会话中存储信用卡信息是否“可以”
- asp.net下使用jquery 的ajax+WebService+json 实
- Asp.net MVC 3全球查询?
- asp.net-mvc-4 – MVC 4中的HttpContext.Current
- asp.net-mvc – 如何gzip内容在asp.net MVC?
热点阅读