On Fri, Aug 09, 2002 at 11:22:05PM -0600, Chris Fedde wrote: > > Second: Maybe I am misreading things a bit. It appears that the actual > level of abstraction in this system is not much higher than exists for the > current PoCo set of packages. I was hoping for something much higher > level that hides the event mapping and passing details: > > package Echo; > use POE::Object qw( Server::TCP ); > my @ISA = qw( POE::Object::Server::TCP ); > > sub Start { > my $self = shift; > $self->Hash(_listen => SUPER->new( > Address => 'localhost', > Port => '10101', > )); > $poe_root_object->Register($self); > } > > sub Input { > my $self = shift; > $self->Output( $self->Data ); > }
I prefer to have the echo code in a separate object. Someone creating a TCP echo server should then be able to glue together a reusable TCP server and echo behavior with just a few lines of meta information. Likewise, people building systems this way will create a toolbox of reusable parts along the way. Building systems this way will require more work initially. The time saved by a self-documenting description language may mitigate the overhead of coding systems this way. It also ensures a minimum level of documentation in every object. That's the plan, anyway. -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net