从哪里开始面向方面编程?

时间:2009-03-27 01:16:08

标签: c# .net vb.net c#-3.0 aop

因此,阅读了一些PostSharp文档作为我之前关于被动日志记录(Is passive logging possible in .NET?)的问题的答案,我接下来提出了我的问题:

哪里是开始学习面向方面编程的好地方 - 我在谷歌上做了一些搜索,我已经阅读了一些文章 - 包括有关维基百科主题的文章,但很多材料似乎都假设你对我似乎缺少的一些术语有一个基本的了解,而且这些术语不仅仅直接融入了整合,让我无法理解我正在整合的是什么。

有没有人有任何体面的材料可以帮助那些在今天之前从未听说过面向方面编程的人学习核心概念,术语/关键词等?即使是鸟瞰图也会有所帮助 - 即这些是核心概念,要注意的关键词,它们代表什么以及它们如何组合在一起。在那之后,我可能会自己取得一些不错的进展。我对AOP与.NET开发最感兴趣,因此任何专门针对此的材料都会有所帮助。

TIA

2 个答案:

答案 0 :(得分:1)

你的目标是什么? AOP有很多表现形式:

  • 面向属性的编程
  • 代理对象
  • 上下文边界对象
  • ASP.NET中的HTTP处理程序/链接
  • 企业库中的PIB
  • EOS之后的编译器(我在论文中使用了 EOS http://www.cs.iastate.edu/~eos/)。)

AOP对今天的框架产生了很大的影响,但它只是影响而不是一个突破性的变化。是的,没有共同的语言,没有共同的定义。我认为你应该尝试属性/ PIB / EOS等,之后你可以自己定义和探索AOP。

<强>资源

http://www.codeproject.com/KB/architecture/aop2.aspx

http://blogs.msdn.com/tomholl/archive/2007/02/23/announcing-the-policy-injection-application-block.aspx

答案 1 :(得分:0)

这篇博客文章也可以作为一个很好的入门者。该帖子有一些使用AutoFac和DynamicProxy的实现。对于代理类的介绍,这是一个很好的阅读。

Aspect Oriented Programming (AOP) in .NET Core and C# using AutoFac and DynamicProxy