1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Source: libex-monkeypatched-perl
Section: perl
Priority: optional
Build-Depends: cdbs,
devscripts,
perl,
debhelper,
dh-buildinfo,
libsub-name-perl,
libtest-exception-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Jonas Smedegaard <dr@jones.dk>
Standards-Version: 3.9.6
Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libex-monkeypatched-perl
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libex-monkeypatched-perl.git
Homepage: https://metacpan.org/release/ex-monkeypatched
Package: libex-monkeypatched-perl
Architecture: all
Depends: ${perl:Depends}, ${misc:Depends}, ${cdbs:Depends}
Enhances: ${cdbs:Enhances}
Description: experimental API for safe monkey-patching
The term "monkey patching" describes injecting additional methods into
a class whose implementation you don't control. If done without care,
this is dangerous; the problematic case arises when:
* You add a method to a class;
* A newer version of the monkey-patched class adds another method of
the same name
* And uses that new method in some other part of its own
implementation.
.
ex::monkeypatched lets you do this sort of monkey-patching safely:
before it injects a method into the target class, it checks whether the
class already has a method of the same name. If it finds such a
method, it throws an exception (at compile-time with respect to the
code that does the injection).
.
See <http://aaroncrane.co.uk/talks/monkey_patching_subclassing/> for
more details.
|