In computer programming, an aspect of a program is a feature linked to many other parts of the program, but is not related to the program's primary function. An aspect crosscuts the program's core concerns, therefore violating its separation of concerns that tries to encapsulate unrelated functions. For example, logging code can crosscut many modules, yet the aspect of logging should be separate from the functional concerns of the module it cross-cuts. Isolating such aspects as logging and persistence from business logic is at the core of the aspect-oriented programming (AOP) paradigm.[1]

Aspect-orientation is not limited to programming since it is useful to identify, analyse, trace and modularise concerns through requirements elicitation, specification, and design. Aspects can be multi-dimensional by allowing both functional and non-functional behaviour to crosscut any other concerns, instead of just mapping non-functional concerns to functional requirements.[citation needed]

One view of aspect-oriented software development is that every major feature of the program, core concern (business logic), or cross-cutting concern (additional features), is an aspect, and by weaving them together (a process also called composition), one finally produces a whole out of the separate aspects. This approach is known as pure aspect programming, but hybrid approaches are more common. It is possible for functional concerns to crosscut non-functional or functional concerns (e.g., the need for more features harms mobility). A uniform approach to representation and composition, similar to the pure approach in AOP, is termed multidimensional representation.[citation needed]

References

edit
  1. ^ Awais Rashid (2004). Aspect-Oriented Database Systems. Springer. ISBN 3-540-00948-5.

📚 Artikel Terkait di Wikipedia

Aspect-oriented programming

In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting

Modular programming

Modular programming is a programming paradigm that emphasizes organizing the functions of a codebase into independent modules, each providing an aspect of

Aspect

laureate Aspect (computer programming), a feature linked to many parts of a program but not necessarily the primary function of the program Aspect (geography)

Outline of computer programming

computer programming: Computer programming – process that leads from an original formulation of a computing problem to executable computer programs.

C (programming language)

programming languages, with C compilers available for practically all modern computer architectures and operating systems. The book The C Programming

Software design pattern

implemented several of the 23 design patterns using an aspect-oriented programming language (AspectJ) and showed that code-level dependencies were removed

Computer programming

Computer programming or coding is the composition of sequences of instructions, called programs, that computers can follow to perform tasks. It involves

Advice (programming)

In aspect and functional programming, advice describes a class of functions which modify other functions when the latter are run; it is a certain function