AOP - gusenov/kb GitHub Wiki

Wikipedia

  • Aspect-oriented programming is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns.
  • Aspect (computer programming) of a program is a feature linked to many other parts of the program, but which is not related to the program's primary function.
    • Isolating such aspects as logging and persistence from business logic is at the core of the aspect-oriented programming (AOP) paradigm.
  • Аспект логический объект в аспектно-ориентированном программировании, который позволяет объединять однотипные по функциональности элементы разных объектов.
  • Cross-cutting concerns are aspects of a program that affect several modules, without the possibility of being encapsulated in any of them.
    • For instance, if writing an application for handling medical records, the indexing of such records is a core concern, while logging a history of changes to the record database or user database, or an authentication system, would be cross-cutting concerns since they interact with more parts of the program.
    • Examples
  • Aspect weaver is a metaprogramming utility for aspect-oriented languages designed to take instructions specified by aspects (isolated representations of significant concepts in a program) and generate the final implementation code.