Group :: Desenvolvimento/Perl
RPM: perl-Class-Method-Modifiers
Principal Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
A versão atual: 2.15-alt1
Data da compilação: 6 março 2023, 18:54 ( 55.5 weeks ago )
Tamanho:: 46.61 Kb
Home page: http://search.cpan.org/dist/Class-Method-Modifi…
Licença: Artistic
Sumário: provides Moose-like method modifiers
Descrição:
Lista dos contribuidores Lista dos rpms provida por esta srpm:
ACL:
Data da compilação: 6 março 2023, 18:54 ( 55.5 weeks ago )
Tamanho:: 46.61 Kb
Home page: http://search.cpan.org/dist/Class-Method-Modifi…
Licença: Artistic
Sumário: provides Moose-like method modifiers
Descrição:
Method modifiers are a convenient feature from the CLOS (Common Lisp Object
System) world.
In its most basic form, a method modifier is just a method that calls
`$self->SUPER::foo(@_)'. I for one have trouble remembering that exact
invocation, so my classes seldom re-dispatch to their base classes. Very bad!
`Class::Method::Modifiers' provides three modifiers: `before', `around', and
`after'. `before' and `after' are run just before and after the method they
modify, but can not really affect that original method. `around' is run in place
of the original method, with a hook to easily call that original method. See
the `MODIFIERS' section for more details on how the particular modifiers work.
One clear benefit of using `Class::Method::Modifiers' is that you can define
multiple modifiers in a single namespace. These separate modifiers don't need to
know about each other. This makes top-down design easy. Have a base class that
provides the skeleton methods of each operation, and have plugins modify those
methods to flesh out the specifics.
Parent classes need not know about `Class::Method::Modifiers'. This means you
should be able to modify methods in *any* subclass. See the
Term::VT102::ZeroBased manpage for an example of subclassing with CMM.
In short, `Class::Method::Modifiers' solves the problem of making sure you call
`$self->SUPER::foo(@_)', and provides a cleaner interface for it.
As of version 1.00, `Class::Method::Modifiers' is faster in some cases than the
Moose manpage. See `benchmark/method_modifiers.pl' in the the Moose manpage
distribution.
Mantenedor currente: Igor Vlasenko System) world.
In its most basic form, a method modifier is just a method that calls
`$self->SUPER::foo(@_)'. I for one have trouble remembering that exact
invocation, so my classes seldom re-dispatch to their base classes. Very bad!
`Class::Method::Modifiers' provides three modifiers: `before', `around', and
`after'. `before' and `after' are run just before and after the method they
modify, but can not really affect that original method. `around' is run in place
of the original method, with a hook to easily call that original method. See
the `MODIFIERS' section for more details on how the particular modifiers work.
One clear benefit of using `Class::Method::Modifiers' is that you can define
multiple modifiers in a single namespace. These separate modifiers don't need to
know about each other. This makes top-down design easy. Have a base class that
provides the skeleton methods of each operation, and have plugins modify those
methods to flesh out the specifics.
Parent classes need not know about `Class::Method::Modifiers'. This means you
should be able to modify methods in *any* subclass. See the
Term::VT102::ZeroBased manpage for an example of subclassing with CMM.
In short, `Class::Method::Modifiers' solves the problem of making sure you call
`$self->SUPER::foo(@_)', and provides a cleaner interface for it.
As of version 1.00, `Class::Method::Modifiers' is faster in some cases than the
Moose manpage. See `benchmark/method_modifiers.pl' in the the Moose manpage
distribution.
Lista dos contribuidores Lista dos rpms provida por esta srpm:
- perl-Class-Method-Modifiers