Klasse :: Meta.

Klasse :: Meta ist eine Perl-Klasse-Automatisierung, Introspektion und Datenvalidierung.
Jetzt downloaden

Klasse :: Meta. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • David Wheeler
  • Website des Verlags:
  • http://search.cpan.org/~dwheeler/

Klasse :: Meta. Stichworte


Klasse :: Meta. Beschreibung

Class :: Meta ist eine Perl-Klasse Automatisierung, Selbstbeobachtung und Datenvalidierung. Class :: Meta ist eine Perl-Klasse Automatisierung, Selbstbeobachtung und Daten validation.SYNOPSISGenerate eine Klasse: package MyApp :: Thingy; use strict; verwenden Class :: Meta; Verwendung Klasse :: Meta :: Typen :: String; verwenden Class :: Meta :: Typen :: Numeric; BEGIN {# eine Klasse :: Meta-Objekt für diese Klasse erstellen. my $ cm = Klasse :: Meta-> new (key => 'Dingen'); In # Konstruktor. $ Cm-> add_constructor (name => 'new', erstellen => 1); # Ein paar Attribute mit generierten Methoden hinzufügen. $ Cm-> add_attribute (name => 'UUID', authz => Klasse :: Meta :: READ, type => 'string', erforderlich => 1, default => sub {Data :: UUID-> neuen-> create_str}); $ Cm-> add_attribute (name => 'name', ist => 'string', erforderlich => 1, default => undef,); $ Cm-> add_attribute (name => 'Alter' ist => 'integer', default => undef,); # Eine benutzerdefinierte Methode hinzufügen. $ Cm-> add_method (name => 'chk_pass' view => Klasse :: Meta :: PUBLIC); $ Cm-> build; } Verwenden Sie dann die Klasse: Verwendung MyApp :: Thingy; my $ Dingen = MyApp :: Thingy-> neu; drucken "ID:", $ thingy-> id, $ /; $ Thingy-> name ( 'Larry'); drucken "Name:", $ thingy-> name, $ /; $ Thingy-> Alter (42); drucken "Alter:", $ thingy-> Alter, $ /; Oder nutzen die Selbstbeobachtung API: Verwendung MyApp :: Thingy; my $ class = MyApp :: Thingy-> my_class; my $ Dingen; drucken "Prüfung Objekt der Klasse", $ class-> Paket, $ /; print "nConstructors: n"; für meine $ Ctor ($ Klassen-> Konstrukteurs) {print "o", $ ctor-> name, $ /; $ Dingen = $ ctor-> Anruf ($ Klassen-> Paket); } Druck "nAttributes: n"; für meinen $ attr ($ class-> Attribute) {print "o", $ attr-> namen "=>", $ attr-> get (Dingen $), $ /; if ($ attr-> authz> = Class :: Meta :: SET $ attr-> type eq 'string') {$ attr-> get ($ Dingen, 'Hey there!'); Druck "geändert:", $ attr-> get ($ Dingen), $ /; }} Druck "nMethods: n"; für meinen $ Meth ($ class-> Methoden) {print "o", $ meth-> name, $ /; $ Meth-> Aufruf ($ Dingen); } Class :: Meta bietet die Erstellung von Perl-Klassen mit dem Attribut Datentyp Validierung eine Schnittstelle für die Automatisierung. Es unterscheidet sich von anderen solchen Modulen, dass sie eine Selbstprüfung API enthält, die als eine einheitliche Schnittstelle für alle Class :: Meta-generierten Klassen verwendet werden können. In diesem Sinne ist es eine Implementierung des Fassade Design-Musters. Anforderungen: · Perl.


Klasse :: Meta. Zugehörige Software

Efeu.

EFEU eignet sich für den Umgang mit Datenwürfeln, die besonders nützlich für den Bau von Datenlagern sind. ...

147

Herunterladen