AOP编程实践之AspectWeaverSample1.0

该博客介绍了使用Teddy's Aspect Weaver Version 0.6进行AOP编程的一个实例,包括SecurityAspect(在Account.Login前增加安全检查)、MethodSelfIntroduceAspect(展示每个方法调用的上下文信息和参数列表)、LogAllWriteOperationAspect(记录所有写操作的位置)以及DebugBookConstructorCall(记录Book构造函数的调用)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


[ More about Teddy's Aspect Weaver]

[ More about AOP]

本范例基于Teddy’s Aspect Weaver Version 0.6,演示一个简单的AOP应用范例,范例中的具体Sample Aspect有:

1. SecurityAspect: Add additional security checking before Account.Login.
2. MethodSelfIntroduceAspect: Each method’s self-introduction – show each calling methods’ context info and argument lists.
3. LogAllWriteOperationAspect: Log all writing operations called positions.
4. DebugBookConstructorCall: Log after Book’s Constructors’ calling.

未织入前的运行结果

Begin an order handle process...


The order handle process is finished.


Begin an book update process...


The book update process is finished.

织入后的运行结果

Calling method: System.Void SampleApp.Logic.Sample::OrderHandleSample()

Begin an order handle process...

Checked addtional security for account login ok!
Calling method: System.Boolean SampleApp.Logic.Account::Login(System.String,System.String)
Arguments: name, pa$$word
Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
Arguments: 2
Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
Arguments: 1
Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor(System.Int32)'
calling a write method at 'System.Void SampleApp.Logic.Sample::OrderHandleSample()'
Calling method: System.Void SampleApp.Logic.Order::HandleOrder()

The order handle process is finished.

Calling method: System.Void SampleApp.Logic.Sample::BookUpdateSample()

Begin an book update process...

Checked addtional security for account login ok!
Calling method: System.Boolean SampleApp.Logic.Account::Login(System.String,System.String)
Arguments: name, pa$$word
Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor()'
Calling method: System.Void SampleApp.Logic.Book::LoadBook(System.Int32)
Arguments: 1

Constructor of Book has been called at 'System.Void SampleApp.Logic.Book::.ctor(System.Int32)'
Calling method: System.Void SampleApp.Logic.Book::set_BookName(System.String)
Arguments: updated book name
calling a write method at 'System.Void SampleApp.Logic.Sample::BookUpdateSample()'
Calling method: System.Void SampleApp.Logic.Book::UpdateBook()

The book update process is finished.

范例源码下载

AspectWeaverSample1.0.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值