Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Programming patterns

by Anonymous Monk
on Jun 22, 2012 at 14:45 UTC ( #977854=note: print w/replies, xml ) Need Help??

in reply to Programming patterns

How about a summery of what you do understand?

I parse his statement as

So this is usually fine
sub method { $self->do_this if $self->query(); ...
So this is usually wrong (conditional on $that
sub method { ... if $that->query(); ...
?? sub method { $self->do_this if $that->query(); ...
?? sub method { $that->do_this if $that->query(); ...
This is a huge red flag ( ?? encapsulation violation ?? )
sub method { ... if $that->attribute() eq ...
???? sub method { ... if $self->attribute() eq ...

Re-reading chromatic's post, chromatic's $item is probably cawley's $that

The point is kinda obvious, simple
Always try /call the method you want ( $item->do_this )
But let it/that method fail based on its own state ( $self->dirty instead of $item->dirty )

In other words, let everybody check their own underpants for ticks, no peeking :)

I think I get it, but as usual chromatic's entry leaves you wanting more. FWIW, I'm not that well versed in OOP.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://977854]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (10)
As of 2018-05-23 13:59 GMT
Find Nodes?
    Voting Booth?