Packages / openSUSE Leap 16.0 / Unspecified / perl-Class-Method-Modifiers
[Source: perl-Class-Method-Modifiers]
Package: perl-Class-Method-Modifiers (2.15-bp160.1.12)
[Project overview: perl-class-method-modifiers]
Fornisce modificatori di metodo in stile Moose
I modificatori di metodo sono una funzionalità conveniente dal mondo CLOS
(Common Lisp Object System).
Nella sua forma più basilare, un modificatore di metodo è semplicemente un
metodo che chiama '$self->SUPER::foo(@_)'. Personalmente ho difficoltà a
ricordare quella invocazione esatta, quindi le mie classi raramente
ridistribuiscono alle loro classi base. Molto male!
'Class::Method::Modifiers' fornisce tre modificatori: 'before', 'around' e
'after'. 'before' e 'after' vengono eseguiti appena prima e dopo il metodo che
modificano, ma non possono davvero influenzare quel metodo originale. 'around'
viene eseguito al posto del metodo originale, con un hook per chiamare
facilmente quel metodo originale. Vedere la sezione MODIFIERS per maggiori
dettagli su come funzionano i singoli modificatori.
Un chiaro vantaggio nell'usare 'Class::Method::Modifiers' è che potete definire
più modificatori in un unico namespace. Questi modificatori separati non
hanno bisogno di conoscersi a vicenda. Ciò rende facile la progettazione
top-down. Abbiate una classe base che fornisce i metodi scheletro di ogni
operazione, e fate in modo che i plugin modifichino quei metodi per
completare i dettagli.
Le classi genitore non devono conoscere 'Class::Method::Modifiers'. Ciò
significa che dovreste poter modificare metodi in _qualsiasi_ sottoclasse.
Vedere Term::VT102::ZeroBased per un esempio di sottoclasse con
'Class::Method::Modifiers'.
In breve, 'Class::Method::Modifiers' risolve il problema di assicurarsi di
chiamare '$self->SUPER::foo(@_)', e fornisce un'interfaccia più pulita per
farlo.
A partire dalla versione 1.00, 'Class::Method::Modifiers' è più veloce in alcuni
casi di Moose. Vedere _benchmark/method_modifiers.pl_ nella distribuzione
Moose.
'Class::Method::Modifiers' fornisce anche un tipo di "modificatore" aggiuntivo,
'fresh'; vedere sotto.
Other Packages Related to perl-Class-Method-Modifiers:
Download perl-Class-Method-Modifiers
| Architecture | Package Size | Installed Size | Files |
|---|
| noarch | 33 KiB | 48 KiB | [list of files] |
Percorsi file del pacchetto (10)
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
- /usr/lib/perl5/vendor_perl/5.42.0/Class
- /usr/lib/perl5/vendor_perl/5.42.0/Class/Method
- /usr/lib/perl5/vendor_perl/5.42.0/Class/Method/Modifiers.pm
- /usr/share/doc/packages/perl-Class-Method-Modifiers
- /usr/share/doc/packages/perl-Class-Method-Modifiers/Changes
- /usr/share/doc/packages/perl-Class-Method-Modifiers/CONTRIBUTING
- /usr/share/doc/packages/perl-Class-Method-Modifiers/README
- /usr/share/licenses/perl-Class-Method-Modifiers
- /usr/share/licenses/perl-Class-Method-Modifiers/LICENSE
- /usr/share/man/man3/Class::Method::Modifiers.3pm.gz
Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c