Pyaspecten

Vergemerkte aspect-georiënteerde programmering in Python
Download nu

Pyaspecten Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Baris Metin
  • Uitgever website:
  • http://www.metin.org

Pyaspecten Tags


Pyaspecten Beschrijving

Pyaspects is een project om de aspectgerichte programmering in Python Taal te vergemakkelijken. Basisch gebruik "Weave" -afstand kan gewone functies gebruiken om aspecten toe te passen op een klasse, object of een methode .- Wanneer wordt gebruikt met een klasse, zullen alle methoden van de klasse geweven worden. Dit zal alle exemplaren van de klasse beïnvloeden. - Bij gebruik met een object worden alle methoden van het object geweven. Maar dit heeft geen invloed op andere gevallen van dezelfde klasse.- Wanneer wordt gebruikt met een methode, wordt alleen die specifieke methode geweven. Uitbeelding: het gebruik van de gemaksfunctie met een aspect.def my_before_func (wobj, gegevens, * Args, ** Kwargs): # Wobj: het object dat is ingepakt # -gegevens: Aspect's gegevens waar u informatie kunt krijgen over de geweven methode # args: argumenten gepasseerd naar de oorspronkelijke methode # KWARGS: Trefwoorden verstreken naar de oorspronkelijke methode do_something () Pyaspects.weave (some_object_class_or_method, before_func = my_before_func) met behulp van een aspect om een methode, klasse, object.pyaspects.weave_all_methoden (myaspect (), myclass) pyaspects.weave_all_methods (myaspect (), myclass.my_method) pyaspects.weal_all_methods (myaspect (myaspect (myaspect (myaspect (myaspect (myass ), My_Instance) Pyaspects.weave_all_methods (MyASPect (), My_Instance.my_method) Soorten Advices Met Pyaspects U kunt een code injecteren voor, na of in plaats daarvan (rond) van een methode. Voordat ze na adviezen behoorlijk naar voren zijn object en argumenten van de methode en het uitvoeren vóór / na de uitvoering van de methode. Je kunt er zoveel voor / na adviezen hebben als je wilt. Op de andere kant kan een methode slechts één rond advies hebben. Dit komt omdat rondadvies op zijn plaats worden uitgevoerd en de retourwaarde zal in plaats daarvan worden gebruikt. Maar rondadvies kan de oorspronkelijke methode oproepen met behulp van de werkwijze van het metaspect.Wat is in "Gegevens" het gegevensargument dat is doorgegeven aan aspecten is een woordenboek en geeft informatie over de geweven methode.data : de naam van de methode Vóór het weven vindt plaats .Data : geweven methode naam. Dit is in feite de methode "Doorgaan", belt u rond aspect.data : Retourwaarde van de oorspronkelijke methode. Dit is alleen beschikbaar op na het aspect en rond aspect (als het wordt gesprongen doorgaan) .data : Klasse-object waartoe de methode behoort. Hoe definieert een nieuwe aspectaspecten die moeten worden uitgevoerd die moeten worden uitgevoerd voor of na het geweven Methodes.Example: Klasse Testaspect: __metaclass__ = Metaspect-naam = "Testaspect" Def na (Zelf, Wobj, Data, * Args, ** Kwargs): Print "Test Aspect" -klasse Myaroundaspect: __metaclass__ = Metaspect Name = "Myaround" Def Around (Zelf, Wobj, Data, * Args, ** Kwargs): Print "rondrennen." RET = Self.Prede (Wobj, Data, * Args, ** Kwargs) Print "Doe iets met retourwaarde" Retourneer de startpagina van RetProduct


Pyaspecten Gerelateerde software