分享——知识与快乐
pragmatic programmer: programming for fun and money
博客园
闪存
首页
新随笔
联系
管理
订阅
随笔- 415 文章- 0 评论- 824
10分钟入门AOP:用PostSharp普及一下AOP
PostSharp是一个比较强调易学易用的AOP框架,在这之前我接触过AspectJ,Spring.当然花的时间也不多,不过一直感觉不好掌握,似乎AOP是比较难的东西。今天看到
这篇英文论文
里面的说明,似乎并不那么难以掌握。参考下图,对比一下两组概念。
PS用了我们熟知的东西,而没有引入新名词,这是它聪明的地方。看表格右边的一组概念,事件(还不太理解为什么说是meta),事件处理器,aspect=定制的attribute, 唯一新鲜的是multicasting,实际上可以理解为一个通配表达式。
下面再用一个简单例子:
public
class
LogAttribute : OnMethodBoundaryAspect
{
public
override
void
OnEntry (MethodExecutionEventArgs eventArgs )
{ Console . WriteLine (
"
Entering the method
{
0
}
.
"
, eventArgs . Method );
}
public
override
void
OnExit (MethodExecutionEventArgs eventArgs )
{
Console . WriteLine (
"
Leaving the method
{
0
}
.
"
, eventArgs . Method );
}
}
class Program
{
[Log]
static void Main ()
{
Console . WriteLine (" Hello , world .");
}
}
//multicasting 说明对
MyApp . BusinessObjects命名空间使用Log
[ assembly : Log(
AttributeTargetTypes =
" MyApp . BusinessObjects .*" ,
AttributeTargetMemberAttributes =
MulticastAttributes . Public )]
从这例子看非常简明清晰,的确易学易用。
分享:practice makes perfect.
标签:
AOP
,
PostSharp
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2008-03-22 16:18
分享
阅读(3622)
评论(4)
编辑
收藏
评论
1801363
回复
引用
查看
#1楼
2008-03-22 16:57
|
Justin
不错!不错!
回复
引用
查看
#2楼
2008-03-23 11:29
|
代码乱了
好文,简单明了
回复
引用
#3楼
2008-07-07 09:33
|
dreamwinter[未注册用户]
PostSharp和Castle的Windsor之间有什么关系?请赐教!
回复
引用
查看
#4楼
2010-04-14 11:49
|
czjone
这样说根本就不能用。你喝不懂的还差不多。用ASPECT 基本差不多。要真的理解入门AOP就这些?
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
《福布斯》:谷歌进军硬件产品 难撼动苹果地位
·
美国空军拟最多购买1.8万台iPad 2
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
转载请注明,毋用于商业
有朋自远方来,不亦乐乎!
mail: chenge2k@gmail.com
msn:chenge2k@hotmail.com
本站导引,自我介绍
推荐网站
Google Reader RSS阅读器
美味书签
自由的维基百科
我的豆瓣(书迷乐园)
淘宝(买别处缺货的东西)
豆瓣(计算机书友会)
豆瓣(英语听说交流)
推荐常用软件
mint:好用的linux桌面操作系统
ubuntu:好用的linux桌面操作系统
值得信赖的浏览器FF
FF插件:read later, cool preview
昵称:
分享
园龄:
7年7个月
粉丝:
6
关注:
6
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接
我的标签
ruby(8)
scala(5)
TDD(4)
F#(3)
Erlang(3)
emacs(3)
haskell(2)
rails(2)
xunit(2)
test(2)
更多
随笔分类
(420)
asp.net(13)
(rss)
db(4)
(rss)
delphi(2)
(rss)
firefox tips(17)
(rss)
Haskell(5)
(rss)
java(13)
(rss)
linux(18)
(rss)
NHibernate(3)
(rss)
Python(4)
(rss)
ruby(30)
(rss)
TDD(4)
(rss)
报表(3)
(rss)
博客园有关(11)
(rss)
测试(3)
(rss)
佛教(5)
(rss)
管理(5)
(rss)
健康(25)
(rss)
名人名著(2)
(rss)
其他(16)
(rss)
前沿理论(7)
(rss)
软件设计(21)
(rss)
设计模式(12)
(rss)
推荐资源(书籍,软件等)(161)
(rss)
问题征解(15)
(rss)
学习(7)
(rss)
英语学习(12)
(rss)
中医(2)
(rss)
随笔档案
(416)
2010年5月 (9)
2010年4月 (7)
2010年3月 (1)
2008年5月 (2)
2008年4月 (1)
2008年3月 (10)
2008年2月 (6)
2008年1月 (21)
2007年12月 (4)
2007年11月 (2)
2007年10月 (6)
2007年9月 (12)
2007年8月 (17)
2007年7月 (14)
2007年6月 (19)
2007年5月 (6)
2007年4月 (5)
2007年3月 (2)
2007年1月 (2)
2006年11月 (12)
2006年10月 (15)
2006年9月 (8)
2006年8月 (9)
2006年7月 (3)
2006年6月 (3)
2006年5月 (22)
2006年4月 (10)
2006年3月 (1)
2006年2月 (4)
2006年1月 (3)
2005年12月 (5)
2005年11月 (1)
2005年10月 (18)
2005年9月 (6)
2005年8月 (11)
2005年7月 (8)
2005年6月 (17)
2005年5月 (17)
2005年4月 (13)
2005年3月 (41)
2005年2月 (34)
2004年12月 (2)
2004年9月 (1)
2004年8月 (2)
2004年7月 (1)
2004年6月 (3)
相册
my
my
net
Dudu的blog
博客园站长
播客学英语
陈雷先生
(程序员专栏作者)
特别推荐
del.ico.us
美味书签
自由的维基百科
积分与排名
积分 - 389311
排名 - 163
最新评论
阅读排行榜
评论排行榜
推荐排行榜