Hello friends!
I'm working on several Perl modules that make life much easier with Ming-Perl.
Ming creates SWF, and can do so dynamically via CGI. It's awesome!
Now, I love OO, and not suprisingly I use it extensively with my project. But to tell you the truth the length of this syntax really bugs me when it comes to GUI design: (in which you hand code it many times)
$b = Foo::Button->new(@args);
Why not use ,
$b = newButton(@args);
Also considering the overall module network's design (on inheritance for example), I came up with this:
package Foo::Button;
use strict;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw (newButton);
## short hand method that feeds some initial data to
## the constructor new()
sub newButton {
__PACKAGE__->new( {Up=>shift} );
}
## Class call only
sub new {
my $class = shift;
my $self = {};
bless $self,$class;
$self->{shape} = shift;
## fill up some other fields, then return
$self;
}
1;
## in file test.pl
package main;
use Foo::Button;
my $b = newButton(@args);
Usually I use methods like "newButton" as short hand constructors in which the blessing is left to the perfectly healty new() constructor. (Let's also suppose that the exported class method does the blessing. )
Now, do you think this is a wrong approach? Can it be improved? Any better ways?
Any feedback is appreciated!
Ogla
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.