fb16dfecae
Commit b7f05445c0
has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
20 lines
1.1 KiB
Text
20 lines
1.1 KiB
Text
Method modifiers are a powerful 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.
|
|
|
|
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.
|
|
|
|
In short, Class::Method::Modifiers solves the problem of making sure you call
|
|
$self->SUPER::foo(@_), and provides a cleaner interface for it.
|