Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^6: Delegating to a role in Moose

by nysus (Vicar)
on Jan 13, 2018 at 21:57 UTC ( #1207204=note: print w/replies, xml ) Need Help??

in reply to Re^5: Delegating to a role in Moose
in thread Delegating to a role in Moose

Alright, thanks. I guess my only question left, then, is why would you use something like handles => 'MyURIRole' over handles => qr/.*/? The latter seems a lot more useful and it does allow me to extend the URI class with my own methods very easily and which seems enormously useful. However, I found it very odd that after doing a lot of searching on this, there is only one tutorial I could find that even mentions the handles => qr/.*/ method for delegating. The omission from the documentation of this method for delegating makes me wonder if it's advisable to do (and hence why I looked into using a more "official" way by using a role name instead).

Overall, it just seems the documentation on delegation is lacking a bit, especially for someone like me who doesn't have a lot of experience with OO patterns and is more or less just following recipes without understanding the chemistry behind the cooking. Maybe I should reach out to the module authors? What do you think?

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

Replies are listed 'Best First'.
Re^7: Delegating to a role in Moose
by Arunbear (Prior) on Jan 15, 2018 at 13:06 UTC
    Re: handles => 'MyURIRole' vs handles => qr/.*/, the former is more work to set up, but I think it should be preferred because it's more self documenting - you've documented in code exactly what methods you're delegating.

    I agree that the documentation on delegation is lacking, but that's a symptom of a larger problem. E.g. the official docs on Perl OOP, perlobj and perlootut don't mention delegation at all.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1207204]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2020-10-22 20:22 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (230 votes). Check out past polls.