Пакет perl-Class-Method-Modifiers: Информация
Default inline alert: Версия в репозитории: 2.15-alt1
Исходный пакет: perl-Class-Method-Modifiers
Версия: 2.13-alt1
Собран: 15 августа 2019 г. 20:58 в задании #236147
Категория: Разработка/Perl
Сообщить об ошибке в пакетеДомашняя страница: http://search.cpan.org/dist/Class-Method-Modifiers/
Лицензия: Artistic
О пакете: provides Moose-like method modifiers
Описание:
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.
Сопровождающий: Igor Vlasenko
Права:
@cpan
@everybody
@cpan
@everybody
Последнее изменение
15 августа 2019 г. Igor Vlasenko 2.13-alt1
- automated CPAN update
19 марта 2016 г. Igor Vlasenko 2.12-alt1
- automated CPAN update
19 августа 2014 г. Igor Vlasenko 2.11-alt1
- automated CPAN update