何时在web应用程序中使用委托类型是有用的
本文关键字:类型 有用 web 应用程序 何时 | 更新日期: 2023-09-27 18:02:32
我使用c#和Asp。Net Web Forms.
我读到Asp。Net使用它的"委托模型"来处理GUI对象的事件。
我担心在其他上下文中使用"自定义委托类型"作为事件处理的一部分是有意义的。
我的问题:
-
在现实世界的场景中,除了事件处理之外,什么时候使用委托类型是有用的?例如:类中的验证字段?
-
在哪种架构中自定义委托类型最好的脚?
-
委托类型的利弊?
感谢您的时间!
-
如果你使用LINQ to Objects,你是在使用委托。(如果你正在使用EF或类似的东西,那么你正在使用委托类型的表达式树。)
-
如果你使用MVC,你可能也使用表达式树(
@Html.For(x => ...)
) -
如果你启动线程或任务,你将使用委托。
基本上,它们非常适合以易于表达的方式表示单个操作。它们可以作为单方法接口的替代品,并且可以很好地为自定义行为提供钩子,而不是使用继承。
自从。net 3.5有了Action
和Func
委托家族之后,我就很少创建自定义委托类型了——基本上只有在出于可读性考虑而有必要这样做的时候。