Property Value
dbo:abstract
  • A számítástechnikában az aspektusorientált programozás (AOP) egy olyan programozási paradigma, amelynek célja a modularitás növelése azáltal, hogy lehetővé teszi a kereszthivatkozások szeparálását (SoC). Ez úgy történik, hogy kiegészítő viselkedést ad a meglévő kódhoz (advice), önmagában a kód módosítása nélkül, ehelyett külön megjelöli, hogy melyik kódot módosítják egy „pointcut” specifikációval, például „naplózza az összes függvényhívást, amikor a függvény neve ’set’-el kezdődik”. Ez lehetővé teszi az üzleti logika szempontjából a nem központi viselkedés (például naplózás) hozzáadását a programhoz a funkcionalitás alapját képező kód túlzsúfolása nélkül. Az AOP alapja az aspektusorientált szoftverfejlesztésnek. Az AOP programozási módszereket és eszközöket tartalmaz, amelyek támogatják a vonatkozások modulációját a forráskód szintjén, míg az "aspektusorientált szoftverfejlesztés" egy teljes mérnöki tudományágat jelent. Az aspektusorientált programozás magában foglalja a program logikájának különálló részekre bontását (úgynevezett vonatkozások, koherens funkcionális területek). Szinte az összes programozási paradigma támogatja a vonatkozások bizonyos szintű csoportosítását és beágyazását különálló, független entitásokba absztrakciók (például függvények, eljárások, modulok, osztályok, metódusok) biztosításával, amelyek felhasználhatók ezeknek a vonatkozásoknak az implementálására, absztrakciójára és összeállítására. Néhány vonatkozás „átvág” számos absztrakción egy programon belül, és meghiúsítja a végrehajtás ezen formáit. Ezeket a vonatkozásokat cross-cutting (keresztülvágó) vagy horizontális vonatkozásoknak (vagy szimplán kereszthivatkozás) nevezik. A naplózás egy kereszthivatkozási problémát szemléltet, mivel a naplózási stratégia szükségszerűen érinti a rendszer minden naplózott részét. A naplózás ezzel keresztezi az összes naplózott osztályt és metódust. Minden AOP implementációnak vannak olyan átfogó kifejezései, amelyek mindegyik vonatkozást egységbe zárják. Az implementációk közötti különbség a biztosított konstrukciók erejében, biztonságában és használhatóságában rejlik. Például az olyan megszakítók, amelyek meghatározzák a keresztmetszet korlátozott formájának kifejezésére szolgáló metódusokat, a típusbiztonság vagy a hibakeresés támogatása nélkül. Az AspectJ-nek számos ilyen kifejezése van, melyeket beilleszthet egy speciális osztályba, egy aspektusba. Például egy aspektus megváltoztathatja az alapkód viselkedését (a program nem aspektusú részét), ha tanácsot (kiegészítő viselkedést) alkalmaz a különféle csatlakozási pontokban (a program pontjai), amelyeket egy mennyiségi meghatározás, vagy lekérdezés határoz meg, melyet pointcutnak nevezünk (amely észleli, hogy egy adott csatlakozási pont megegyezik-e). Egy aspektus binárisan kompatibilis szerkezeti változtatásokat is végrehajthat más osztályokban, például tagok vagy szülők hozzáadásával. (hu)
  • A számítástechnikában az aspektusorientált programozás (AOP) egy olyan programozási paradigma, amelynek célja a modularitás növelése azáltal, hogy lehetővé teszi a kereszthivatkozások szeparálását (SoC). Ez úgy történik, hogy kiegészítő viselkedést ad a meglévő kódhoz (advice), önmagában a kód módosítása nélkül, ehelyett külön megjelöli, hogy melyik kódot módosítják egy „pointcut” specifikációval, például „naplózza az összes függvényhívást, amikor a függvény neve ’set’-el kezdődik”. Ez lehetővé teszi az üzleti logika szempontjából a nem központi viselkedés (például naplózás) hozzáadását a programhoz a funkcionalitás alapját képező kód túlzsúfolása nélkül. Az AOP alapja az aspektusorientált szoftverfejlesztésnek. Az AOP programozási módszereket és eszközöket tartalmaz, amelyek támogatják a vonatkozások modulációját a forráskód szintjén, míg az "aspektusorientált szoftverfejlesztés" egy teljes mérnöki tudományágat jelent. Az aspektusorientált programozás magában foglalja a program logikájának különálló részekre bontását (úgynevezett vonatkozások, koherens funkcionális területek). Szinte az összes programozási paradigma támogatja a vonatkozások bizonyos szintű csoportosítását és beágyazását különálló, független entitásokba absztrakciók (például függvények, eljárások, modulok, osztályok, metódusok) biztosításával, amelyek felhasználhatók ezeknek a vonatkozásoknak az implementálására, absztrakciójára és összeállítására. Néhány vonatkozás „átvág” számos absztrakción egy programon belül, és meghiúsítja a végrehajtás ezen formáit. Ezeket a vonatkozásokat cross-cutting (keresztülvágó) vagy horizontális vonatkozásoknak (vagy szimplán kereszthivatkozás) nevezik. A naplózás egy kereszthivatkozási problémát szemléltet, mivel a naplózási stratégia szükségszerűen érinti a rendszer minden naplózott részét. A naplózás ezzel keresztezi az összes naplózott osztályt és metódust. Minden AOP implementációnak vannak olyan átfogó kifejezései, amelyek mindegyik vonatkozást egységbe zárják. Az implementációk közötti különbség a biztosított konstrukciók erejében, biztonságában és használhatóságában rejlik. Például az olyan megszakítók, amelyek meghatározzák a keresztmetszet korlátozott formájának kifejezésére szolgáló metódusokat, a típusbiztonság vagy a hibakeresés támogatása nélkül. Az AspectJ-nek számos ilyen kifejezése van, melyeket beilleszthet egy speciális osztályba, egy aspektusba. Például egy aspektus megváltoztathatja az alapkód viselkedését (a program nem aspektusú részét), ha tanácsot (kiegészítő viselkedést) alkalmaz a különféle csatlakozási pontokban (a program pontjai), amelyeket egy mennyiségi meghatározás, vagy lekérdezés határoz meg, melyet pointcutnak nevezünk (amely észleli, hogy egy adott csatlakozási pont megegyezik-e). Egy aspektus binárisan kompatibilis szerkezeti változtatásokat is végrehajthat más osztályokban, például tagok vagy szülők hozzáadásával. (hu)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 1712493 (xsd:integer)
dbo:wikiPageLength
  • 49330 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 23900919 (xsd:integer)
prop-hu:authorlink
  • Ivar Jacobson (hu)
  • Matthew D. Groves (hu)
  • Ramnivas Laddad (hu)
  • Ivar Jacobson (hu)
  • Matthew D. Groves (hu)
  • Ramnivas Laddad (hu)
prop-hu:date
  • 2009 (xsd:integer)
  • 20081217055353 (xsd:decimal)
prop-hu:first
  • Ivar (hu)
  • Matthew D. (hu)
  • Ramnivas (hu)
  • Ivar (hu)
  • Matthew D. (hu)
  • Ramnivas (hu)
prop-hu:isbn
  • 978 (xsd:integer)
  • 9781617291142 (xsd:decimal)
prop-hu:last
  • Jacobson (hu)
  • Andreas Holzinger (hu)
  • Groves (hu)
  • Laddad (hu)
  • Raghu Yedduladoddi (hu)
  • Renaud Pawlak, Lionel Seinturier (hu)
  • Robert E. Filman (hu)
  • Siobhán Clarke (hu)
  • Jacobson (hu)
  • Andreas Holzinger (hu)
  • Groves (hu)
  • Laddad (hu)
  • Raghu Yedduladoddi (hu)
  • Renaud Pawlak, Lionel Seinturier (hu)
  • Robert E. Filman (hu)
  • Siobhán Clarke (hu)
prop-hu:others
  • D. A. Marca, B. Shishkov and M. v. Sinderen (hu)
  • D. A. Marca, B. Shishkov and M. v. Sinderen (hu)
prop-hu:page
  • 53 (xsd:integer)
prop-hu:title
  • Applying Aspect Oriented Programming in Usability Engineering processes: On the example of Tracking Usage Information for Remote Usability Testing. (hu)
  • AOP in .NET (hu)
  • Aspect-Oriented Software Development (hu)
  • Foundations of AOP for J2EE Development (hu)
  • Aspect-Oriented Software Development with Use Cases (hu)
  • Aspect-Oriented Analysis and Design: The Theme Approach (hu)
  • AspectJ in Action: Practical Aspect-Oriented Programming (hu)
  • Aspect Oriented Software Development: An Approach to Composing UML Design Models (hu)
  • Applying Aspect Oriented Programming in Usability Engineering processes: On the example of Tracking Usage Information for Remote Usability Testing. (hu)
  • AOP in .NET (hu)
  • Aspect-Oriented Software Development (hu)
  • Foundations of AOP for J2EE Development (hu)
  • Aspect-Oriented Software Development with Use Cases (hu)
  • Aspect-Oriented Analysis and Design: The Theme Approach (hu)
  • AspectJ in Action: Practical Aspect-Oriented Programming (hu)
  • Aspect Oriented Software Development: An Approach to Composing UML Design Models (hu)
prop-hu:url
prop-hu:wikiPageUsesTemplate
prop-hu:year
  • 2003 (xsd:integer)
  • 2004 (xsd:integer)
  • 2005 (xsd:integer)
  • 2011 (xsd:integer)
  • 2013 (xsd:integer)
dct:subject
rdfs:label
  • Aspektusorientált programozás (hu)
  • Aspektusorientált programozás (hu)
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is foaf:primaryTopic of