Working with aspects

Have you heard about AOP? AOP stands for Aspect Oriented Programming - paradigm of software development focused on separation of so-called "concerns". What’s “concern” (in this context)? It’s a part of code that’s not related directly to functional requirements but it’s crucial for overall solution architecture and can’t be missed. Examples? Logging, transaction management, authorization and general security, multi-threading, exception handling, undo/redo, etc. Do you get the idea now? Code related to those “concerns” appears frequently and in a lot of places - it kinda interweaves with functional code and that makes…

Read More