in reply to Re: Class or Object composition ??
in thread Class or Object composition ??

thanx,
After I read some of the documetns i went to Class::Delegation, which seems to be what I named "runtime overhead" in my post. ;)
So it seems that combination of Perl6::Role, Class::Delegation and inheritance can solve most of the problems and allow the design to be easily changed if a need arises on the fly.
As a side question - Does the new Roles in perl6 cover the delegation-pattern ?

Replies are listed 'Best First'.
Re^3: Class or Object composition ??
by stvn (Monsignor) on Oct 05, 2006 at 00:05 UTC
    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.

    -stvn