FAQ

On Fri, 2009-01-02 at 14:19 +0200, Leon Timmermans wrote:
When going OO, I'd say an augment()/inner() approach would be
cleanest. See http://search.cpan.org/~drolsky/Moose/lib/Moose/Cookbook/Basics/Recipe6.pod
for an example. I don't know how to express that in Perl 6 though.
There's no description on that page, just sample code, but it looks like
augment performs a similar function to the .wrap method on Routines in
Perl 6. That's an interesting variation of my approach #4, I think:
4. In order to keep the sub separate, but still not split the
pid_file_handler call, I came up with a variation of #3 in which
pid_file_handler takes a callback parameter:

sub init_server {
# ...
pid_file_handler($options{pid_file}, &become_daemon);
# ...
}

sub pid_file_handler($pid_file, &callback) {
# ... top half ...
callback();
# ... bottom half ...
}
I like your idea a little better than the callback method, because I can
see the logic behind saying I want to make an enhanced version of
become_daemon that is *also* able to handle PID files. However, it ties
the two together -- the PID file handling cannot be used in any context
other than becoming a daemon, and in particular it's not obvious how you
would unit test it.


-'f

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 8 of 14 | next ›
Discussion Overview
groupperl6-language @
categoriesperl
postedJan 1, '09 at 8:34p
activeJan 27, '09 at 1:03a
posts14
users7
websiteperl6.org

People

Translate

site design / logo © 2021 Grokbase