As a side question - Does the new Roles in perl6 cover the delegation-pattern ?
Yes, although not as extensively as Class::Delegation. You can see examples of it here. In addition Moose also supports Perl 6-ish style delgation like so:
package Tail;
use Moose;
sub wag { ... }
package Dog;
use Moose;
has tail => (
is => 'ro',
isa => 'Tail',
default => sub { Tail->new },
handles => { 'wag_tail' => 'wag' }
);
## later in your code ...
my $fido = Dog->new;
$fido->wag_tail; # is equivalent too $fido->tail->wag;
Its seems to me that the main difference between Perl 6/Moose style delegation and Class::Delegation is the options for combining methods that Class::Delegation offers.
|