首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AOP和.NET:上下文是一个过时的概念吗?

AOP和.NET:上下文是一个过时的概念吗?
EN

Stack Overflow用户
提问于 2010-04-12 14:04:06
回答 2查看 521关注 0票数 2

最近,我开始学习.NET中的上下文(上下文绑定、上下文敏捷、消息接收器等)。几个警钟开始响起来:

  1. 所有上下文绑定类都是从ContextBoundObject派生的,而后者又是从MarshalByRefObject派生出来的.MarshalByRefObject是.NET远程处理体系结构的一部分。.NET远程处理体系结构被认为是过时的。
  2. 大多数与.NET相关的书籍很少或根本不关注上下文的概念。
  3. MSDN几乎没有提供任何关于上下文的信息:类被解释,但是sattelite-文章(比如“如何”,概述,“教程”等等)。没有提供。
  4. 大多数讨论上下文的文章和论坛都有几年的历史了。
  5. 除了同步上下文之外,.NET框架似乎很少使用上下文体系结构。

因此,我的问题是:.NET中的上下文概念是否过时了,在新的发展中应该避免?如果已经过时,建议采取哪些替代办法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-12 14:13:14

是的,避免使用AOP.的MarshalByRefObject和ContextBoundObject。

大约四年前,我使用上下文绑定的MarshalByRefObject方法推出了一个定制的AOP解决方案。当时我知道我要掉进一个兔子洞,但我还是这么做了,因为.NET的许多AOP框架还很年轻。

.NET通过MarshalByRefObject支持AOP这一事实是一个很好的意外。MBO从来都不是为了这个目的而设计的,而使用MBO进行AOP是对.NET remoting和MBO最初意图的一种劫持。

这一切都不意味着.NET不能支持AOP,只是应该使用一个支持AOP的框架,比如Spring.NET、PostSharp和其他的框架,以一种不那么“黑客”的方式来实现AOP。

这里是一篇关于.NET的AOP框架的好文章,尽管有点过时。

票数 4
EN

Stack Overflow用户

发布于 2010-04-12 14:48:15

我认为需要更正,但如果您仅限于使用"Vendor“(re:Microsoft)代码,我相信统一和/或策略块中存在一定程度的AoP。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2622614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档