加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC中基础控制器类的好候选人是什么?

发布时间:2020-12-15 18:40:58 所属栏目:asp.Net 来源:网络整理
导读:我看到很多人谈论在ASP.NET MVC项目中使用基本控制器。我看到的典型的例子是为了记录或者可能是CRUD脚手架。什么是基础控制器类的其他好的用途? 解决方法 基本控制器类没有很好的用途。 现在听我说 Asp.Net MVC,特别是MVC 3具有大量的可扩展性钩子,可以为
我看到很多人谈论在ASP.NET MVC项目中使用基本控制器。我看到的典型的例子是为了记录或者可能是CRUD脚手架。什么是基础控制器类的其他好的用途?

解决方法

基本控制器类没有很好的用途。

现在听我说

Asp.Net MVC,特别是MVC 3具有大量的可扩展性钩子,可以为所有控制器提供更多的去耦功能。由于您的控制器类对于应用程序来说非常重要,而且至关重要,因此,将其轻松,灵活和松散地耦合到一切中非常重要。

>记录基础设施属于
构造函数应该被注入
通过DI框架。
> CRUD脚手架应由…处理
代码生成或定制
ModelMetadata提供商。
>全局异常处理应该是
由自定义的ActionInvoker处理。
>全局视图数据和授权
应由操作过滤器处理。
使用全局动作过滤器更容易
在MVC3。
>常量可以进入另一个名为ApplicationConstants的类/文件。

基础控制器通常由不熟悉MVC的不同扩展性的无经验的MVC开发人员使用。现在不要误会我,因为所有错误的原因,我不会对使用它们的人进行判断和合作。其经验为您提供了更多工具来解决常见问题。

我几乎是积极的,没有一个单一的问题,你不能解决与另一个可扩展性钩子比基本的控制器类。不要采取最紧密的耦合形式(继承),除非有重大的生产力原因,并且不违反Liskov。我宁愿拿“ 1秒钟,输入一个属性20次,我的控制器像公众ILogger Logger {get;组; }比引入紧密耦合,以更为显着的方式影响应用。

即使像userId或多租户键这样的东西也可以在ControllerFactory而不是基地控制器中。基本控制器类的耦合成本是不值得的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读