|
Aspect Oriented Programming
This paper is written to give an overview of what Aspect Oriented Programming
(AOP) is and what it can be used for. This paper is done as a part of the
course Advanced Software Engineering (pad004) at Blekinge Institute
of Technology.
The Problem
AOP is the solution, but the solution to what problem? Object-Oriented (OO) divide
the world in different Objects and components and that can be a problem when it
comes to functionality that cross cut the object world. It can be hard to modularize
this into classes. Example of such functionality can be synchronization,
performance optimization, exception handling etc.
Another problem with OO is that you need to decide all the interfaces before
any implementation can start. This is because it is hard to change an interface
afterward because it may change a lot of classes. AOP solves this so you can
modify the static structure of them afterward without changing any code within
the classes.
File: Aspect Oriented Programming (pdf)
Strategies in Aspect Oriented Programming with AspectJ
This paper is done as a part of the course Advanced Software Engineering (pad004)
at Blekinge Institute of Technology. The paper is written in a way to try to
explain different strategies with Aspect Oriented programming by showing some
example written in AspectJ. All code examples in this report comes from the
book "Aspect-Oriented Programming with AspectJ" by Ivan Kiselev.
File: Strategies in Aspect Oriented Programming with AspectJ (pdf)
|
|
|
|
Java and AspectJ |
|
Example of Linked lists and Huffman coding. |
|
Introduction to Aspect Oriented Programming. |
|
The game Tetris made in AspectJ. |
Artificial Intelligence |
|
Optimizing Genetic Algorithms for time critical problems. |
Requirement and V&V |
|
How to handle requirements when developing market driven products? |
|
Which technique is best? |
|
Introduction to the field of verification and validation for the newcomers. |
Computer Science |
|
An overview of how RAID works. |
|
What good is the technology if it too complex to use? |
|