Attributorienteret programmering - Attribute-oriented programming

Attributorienteret programmering ( @OP ) er en markeringsteknik på programniveau. Programmerere kan markere programelementer (f.eks. Klasser og metoder) med attributter for at angive, at de vedligeholder applikationsspecifik eller domænespecifik semantik. For eksempel kan nogle programmører definere en "logning" -attribut og knytte den til en metode til at angive, at metoden skal implementere en logfunktion, mens andre programmører kan definere en "webservice" -attribut og knytte den til en klasse for at angive, at klassen skal implementeres som en webtjeneste. Attributter adskiller programmets kernelogik (eller forretningslogik ) fra applikationsspecifik eller domænespecifik semantik (f.eks. Logning og webservicefunktioner). Ved at skjule implementeringsdetaljerne for disse semantik fra programkode øger attributter niveauet for programmeringsabstraktion og reducerer programmeringskompleksitet, hvilket resulterer i enklere og mere læsbare programmer. De programelementer, der er knyttet til attributter, omdannes til mere detaljerede programmer ved hjælp af et understøttende værktøj (f.eks. Preprocessor ). For eksempel kan en præprocessor indsætte et logningsprogram i metoderne, der er forbundet med en "logning" -attribut.

Attributorienteret programmering på forskellige sprog

Java

Med inkluderingen af Metadata Facility for Java (JSR-175) i J2SE 5.0-udgivelsen er det muligt at udnytte attributorienteret programmering lige ud af boksen. XDoclet bibliotek gør det muligt at bruge attributorienteret programmeringsmetode i tidligere versioner af Java.

C#

C# -sproget har understøttet attributter fra den allerførste udgivelse. Disse attributter bruges dog til at give køre-tid-oplysninger og bruges ikke af en forbehandler (der er ikke en i C#s referenceimplementering).

UML

Den Unified Modeling Language (UML) understøtter en slags attribut kaldet stereotyper .

Hack

De Hack programmeringssprog understøtter attributter. Attributter kan knyttes til forskellige programenheder, og oplysninger om disse attributter kan hentes i løbetid via refleksion.

Værktøjer

Referencer

  • "Attribut-orienteret programmering" . En introduktion til attributorienteret programmering . Arkiveret fra originalen den 26. maj 2005 . Hentet 22. juli 2005 .
  • Wada, Hiroshi; Suzuki, Junichi (2005). "Modellering af Turnpike Frontend System: en model-drevet udviklingsramme, der udnytter UML-metamodellering og attributorienteret programmering" (PDF) . I Proc. af den 8. ACM/IEEE internationale konference om modeldrevne ingeniørsprog og -systemer (MoDELS/UML 2005). Arkiveret (PDF) fra originalen 2016-03-03 . Hentet 2006-03-21 .
  • Rouvoy, Romain; Merle, Philippe (2006). "Udnyttelse af komponentorienteret programmering med attributorienteret programmering" (PDF) . I Proc. af det 11. ECOOP internationale værksted om komponentorienteret programmering (WCOP 2006). Arkiveret fra originalen (PDF) den 2006-12-23.

eksterne links