Skip to content
Sagi edited this page Nov 1, 2015 · 24 revisions

Aspects aims to increase modularity by allowing the separation of cross-cutting concerns.

Defined by Wikipedia:

Aspect-oriented programming entails breaking down program logic into distinct parts (so-called concerns, cohesive areas of functionality). Nearly all programming paradigms support some level of grouping and encapsulation of concerns into separate, independent entities by providing abstractions (e.g., functions, procedures, modules, classes, methods) that can be used for implementing, abstracting and composing these concerns. But some concerns defy these forms of implementation and are called crosscutting concerns because they "cut across" multiple abstractions in a program.

NCop supports three types of aspects: