|
|
|
Community Member
|
|
hello,
i need some help, actually an idea. i have to develop a software application as the practical component of a diploma project, hose's purpose is to emphasize the higher modularity (and maintainability) of code provided by AOP. i don't know what to do, and i hope i could get any idea of a practical application (no field constrains, just to be approachable for an one-man project), in the implementations of which, to have to deal with a series of crosscutting concerns. as the code must be written in c#, i intend to use postsharp for the policy injection. please help.
mike.
|
|
|
|
|
Gael Fraiteur
SharpCrafters
|
|
Hi,
I would say that any GUI application doing some I/O (for instance with a web service or a database) is a good candidate.
You can implement the following aspects: - multithreading (putting I/O on the background), - transactions (if you work with a db), - caching, - logging, - validation and observability of entity objects.
One of the easiest application is a contact manager (a single table of contacts). However, if your application has too little business functions, it will be difficult to show the advantages of AOP since these advantages stem when there are concerns cross-cutting many business functions.
You can also look at the sample PostSharp.Samples.Library packages with PostSharp and get inspired. It is a library management software, and its design is quite close to what you could find in production.
Another interesting work would be to take an existing application, whose source code exists, and to refactor it using aspects. This could be even more interesting than starting a new one, since you could compare metrics before and after refactoring. If you need references about software metrics related to AOP, I can help.
Good luck, and keep in touch!
-gael
|
|
|
|
|
Community Member
|
|
hello again,
first i want to thank you for your prompt answer. i have also thought about the difficulties of outlining real AOP advantages in relatively small application, and with a closing deadline, starting a large one is not an option. refactoring an existing code would be excellent choice, if i could only find such (open source) application. i would be grateful if you could provide any reference.
mike.
|
|
|
|
|
Gael Fraiteur
SharpCrafters
|
|
Hi,
You can have a look at CodePlex.com. Be aware that it mostly contains develeopment tools and library. What you need is business software.
I think DotNetNuke would be a good choice, but maybe the code base is too large.
-gael
|
|
|
|
|
Community Member
|
|
i'll take a look and then make a decision. thanks for your advice.
mike.
|
|
|
|