[More about Teddy's Aspect Weaver]
[More about AOP]
This example is based on Teddy's Aspect Weaver Version 0.6 and demonstrates a simple AOP application example. The Sample Aspect in this example includes:
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.
Running result before Weaving
Begin an order handle process...
The order handle process is finished.
Begin an book update process...
The book update process is finished.
Running result after weaving
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.
Sample source code download
AspectWeaverSample1.0.zip