Add-wezens

Verleng dynamisch andere objecten met add-ons (voorheen objectrollen)
Download nu

Add-wezens Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • ZPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Phillip J. Eby

Add-wezens Tags


Add-wezens Beschrijving

Dynamisch andere objecten met add-ons (voorheen objectrollen) In elk voldoende formaat toepassing of kader, is het gebruikelijk om een groot aantal verschillende bezorgsels in dezelfde klasse te beëindigen. U kunt bijvoorbeeld doorzettingscode, bedrijfslogica en UI allemaal vastgelopen in een enkele klasse. ATRIBUTE EN METHODE NAMEN VOOR ALLE SOORTEN VAN VERSCHILLENDE OPENINGEN WORDEN IN EEN ENKELE NAMESPACE WORDT IN EEN ENKELE NAMESPACE - Zelfs bij het gebruik van MIXIN-klassen. Maak het echter gemakkelijker om herbruikbare en apart-testbare componenten te schrijven. Het add -ons-pakket (Peak.UTIL.ADDONS) Hiermee kunt u zorgen beheren met behulp van Addon Classes.Addon-klassen zijn als dynamische mixen, maar met hun eigen privé-attribuut en methode-naamruimten. Een bezorgdheid die wordt geïmplementeerd met behulp van add-ons kan bij runtime worden toegevoegd aan elk object dat een beschrijfbaar __dict__ attribuut heeft, of is zwak-referencable.Addon-klassen zijn ook als adapters, maar in plaats van een nieuw geval te maken, Een bestaand exemplaar wordt indien mogelijk geretourneerd. Op deze manier kunnen add-ons bijhouden van de lopende staat. Een Persh Persive-add-on kan bijvoorbeeld bijhouden of het onderwerp is opgeslagen in de schijf nog bewaard: >>> van Peak.Util.Addons Import Addon >>> Klasse Persistentie (Addon): ... opgeslagen = true .. . Def veranderde (self): ... self.saved = false ... Def Save_IF_NEEDED (Zelf): ... zo niet self.saved: ... afdrukken "Saving" ... self.saved = true >> > Klasse ding: Pass >>> Altems = Thing () >>> Persistentie (hart) .savedtrue >>> Persistentie (hart). Veranderde () >>> Persistentie (hart) .SavedFalse >>> Persistentie (aan de hand). Save_IF_NEEDED () Opslaan >>> Persistentie (wijting) .Save_IF_NEEDED () # Geen actie Takhis maakt het gemakkelijk voor ons om bijvoorbeeld een lus te schrijven dat een stel objecten bespaart, omdat we ons niet initialiseren de toestand van de add-on van de persistentie. Een klas hoeft niet te beperken van een speciale basis om deze staat te kunnen hebben gevolgd, en het hoeft niet te weten hoe het moet worden geïnitialiseerd, in het geval van persistentie, in het geval van persistentie, een klasse moet weten wanneer u de doorzettingsmethoden moet bellen, om aangespondenheid aan te geven en op te sparen. Een bibliotheek die een dergelijke add-on biedt, kan ook decorateurs en andere tools bieden om dit gemakkelijker te maken, terwijl ze nog steeds grotendeels onafhankelijk blijven van de betrokken objecten. De Addons-bibliotheek is daadwerkelijk gemaakt om het gemakkelijker te maken om functionaliteit te implementeren met behulp van functie of Werkwijze decorateurs. Men kan bijvoorbeeld een @Synchronized-decorateur maken die veilig een object vergrendelt - zie het onderstaande voorbeeld onder Dreiging Contracts.In Samenvatting, de add -s-bibliotheek biedt u een basisvorm van AOP, waarmee u u kunt bevestigen (of "introduceren", in AspectJ Terminology) Extra attributen en methoden voor een object, met behulp van een particuliere naamruimte. (Als u ook Aspectj-stijl "advies" wilt uitvoeren, kan het piekregelspakket worden gebruikt om "voor", "na" en "rond" advies in combinatie met add-ons te doen.) Vereisten: · Python


Add-wezens Gerelateerde software