Extractions: Please help improve this article by adding reliable references . Unsourced material may be challenged and removed (September 2008) Programming paradigms Language-oriented Non-structured (contrast: Structured Nondeterministic Parallel computing ... Structured (contrast: Non-structured Class-based Prototype-based ... Value-level (contrast: Function-level This box: view talk edit In computing aspect-oriented programming AOP ) is a programming paradigm which isolates secondary or supporting functions from the main program's business logic . It aims to increase modularity by allowing the separation of cross-cutting concerns , forming a basis for aspect-oriented software development AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while "aspect-oriented software development" refers to a whole engineering discipline.