Cache as a cross-cutting concern
I have been recently asked to look into the cache feature within Springmodule in Java community.
Since my current project utilizes spring and aop, I thought it would be a great idea to utilize AOP to cache data.
I actually wrote a prototype file and it was a very rudimentary yet working prototype. However, I soon realized that Springmodules already created such feature, and it toally is a great feature to use.
Using simple AOP concept, you intercept the method call and using method parameters as HashKeyGenerator input values, the Springmodules’s cache simply get/put data from/into cache storage. Currently, I configured it to using OSCache for its native support by Springmodule Cache Provider.
https://springmodules.dev.java.net/docs/reference/0.8/html/cache.html [dead link]
I believe as the frameworks such as Spring evolves, developers can truly focus on their logic and development without worries of logging, security, cache, and any other cross-cutting concerns. AOP is truly revolutionlizing the software development industry. I am very glad to see it happening.
Good news for .NET community is that spring.net also supports AOP based Cache.
I think more and more developers should know of these great features that tremendously can help build great applications without any of the boiler-plate code. AOP, IoC, ORM and other evolving industry standards truly the great assets that every developer should be aware of when developing/architecturing applications.
-Seung Kim (SK)