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