in reply to Re-blessing || Re-constructing objects
package Facade::Base; sub new { my $class = shift; my ($main) = @_; return bless \$main, $class; } package Facade::One; use base 'Facade::Base'; sub example { my $self = shift; # foo() is a method on the object I expect to facade over $$self->foo( @args ); } package main; my $datastructure = Main::Class->new( %params ); my $facade1 = Facade::One->new( $datastructure ); # Now, I can call Facade::One's methods on $facade1. # I can also change the facade by doing something like: my $facade2 = Facade::Two->new( $$facade1 );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Re-blessing || Re-constructing objects
by blogical (Pilgrim) on Apr 18, 2006 at 03:05 UTC | |
|
Re^2: Re-blessing || Re-constructing objects
by salva (Canon) on Apr 18, 2006 at 10:26 UTC | |
by perrin (Chancellor) on Apr 18, 2006 at 11:16 UTC | |
by salva (Canon) on Apr 18, 2006 at 18:10 UTC | |
by demerphq (Chancellor) on Apr 18, 2006 at 18:53 UTC | |
by perrin (Chancellor) on Apr 18, 2006 at 18:53 UTC | |
by demerphq (Chancellor) on Apr 18, 2006 at 21:30 UTC | |
by salva (Canon) on Apr 18, 2006 at 19:03 UTC | |
| |
by dragonchild (Archbishop) on Apr 18, 2006 at 11:59 UTC |