Aspekt (Computerprogrammierung) - Aspect (computer programming)

Ein Aspekt eines Programms ist eine Funktion, die mit vielen anderen Teilen des Programms verknüpft ist, jedoch nicht mit der Hauptfunktion des Programms zusammenhängt. Ein Aspekt überschneidet die Kernanliegen des Programms und verletzt damit seine Trennung von Bedenken , die versucht, nicht verwandte Funktionen zu kapseln. Beispielsweise kann der Protokollierungscode viele Module überkreuzen, der Aspekt der Protokollierung sollte jedoch von den funktionalen Belangen des Moduls, das er schneidet, getrennt sein. Isolieren solcher Aspekte wie die Protokollierung und Persistenz von Business - Logik ist der Kern der aspektorientierten Programmierung (AOP) Paradigma .

Die Aspektorientierung ist nicht auf die Programmierung beschränkt, da es nützlich ist, Bedenken durch Ermittlung, Spezifikation und Design von Anforderungen zu identifizieren, zu analysieren, zu verfolgen und zu modularisieren. Aspekte können mehrdimensional sein, indem sowohl funktionales als auch nicht funktionales Verhalten andere Bedenken überkreuzen, anstatt nur nicht funktionale Bedenken nur funktionalen Anforderungen zuzuordnen.

Ein Blick auf die aspektorientierte Softwareentwicklung ist , dass jedes Hauptmerkmal des Programms Kernanliegen (Business - Logik) oder Querschnitts betreffen (zusätzliche Funktionen), ein Aspekt ist, und durch Weben sie zusammen (ein Prozess auch genannt Zusammensetzung) man produziert schließlich ein Ganzes aus den einzelnen Aspekten. Dieser Ansatz ist als reine Aspektprogrammierung bekannt, jedoch werden häufiger hybride Ansätze verwendet. Es ist möglich, dass funktionale Bedenken nichtfunktionale oder funktionale Bedenken überkreuzen (z. B. die Notwendigkeit weiterer Funktionen beeinträchtigt die Mobilität). Ein einheitlicher Ansatz für Repräsentation und Komposition, ähnlich dem reinen Ansatz in AOP, wird als mehrdimensionale Repräsentation bezeichnet.

Verweise