[Warszawa-pm] Subclassing aplikacji
Piotr Roszatycki
piotr.roszatycki w gmail.com
Śro, 9 Cze 2010, 04:51:24 PDT
W dniu 9 czerwca 2010 13:25 użytkownik piotr pogorzelski <pp w webtel.pl>napisał:
>
> mnie uwiera forma w jakiej pisane sa programy z moose,
> a moose to "perl6 in perl5" czyli anonsuje
> jaki bedzie perl6
>
> po prostu automagiczne sztuczki to lubie w cyrku
>
> kod mam rozumiec na pierwszy rzut oka -
> i z tym mam coraz wiekszy problem ;)
>
Takie sztuczki to były od dawna, wystarczy popatrzeć na Class::Classless
albo Class::Closure, które są ultramagiczne. Wg mnie to własnie Moose
uporządkowało te sztuczki i dzięki temu mamy taki standard de-facto (Mouse,
Coat, jakieś azjatyckie podróbki ;) i jedną uporządkowaną składnią i nie
trzeba wymyślać od zera wciąż tego samego. Mam na myśli obsługę atrybutów
(tych z OO) oraz konstruktorów, który każdy implementuje po swojemu: Moose,
Mojo, Object::Tiny, Class::XSAccessors, Spiffy, Class::MethodMaker,
Rose::Object i setki innych wynalazków na potrzeby jednej biblioteki.
Na miejscu Zbyszka przekonwertowałbym się spowrotem na Mouse, bo:
1. Składnia czytelniejsza od Class::XSAccessor. Zamiast korzystania z use i
magicznych struktur explicite deklaruje atrybuty i metody.
2. Nie muszę korzystać z kompilatora przy deploymencie aplikacji, bo
Mouse::PurePerl pozwoli odpalić mi serwis także na domyślnej instalce Perla
bez kompilatora.
3. Nie muszę korzystać z CPAN w ogóle, bo Mouse::Tiny pozwoli mi ograniczyć
zależności do jednego pliku z biblioteką.
--
.''`. Piotr Roszatycki
: :' : mailto:Piotr.Roszatycki w gmail.com
`. `' mailto:dexter w debian.org
`-
-------------- następna część ---------
Załącznik HTML został usunięty...
URL: <http://mail.pm.org/pipermail/warszawa-pm/attachments/20100609/65e0ab2b/attachment.html>
Więcej informacji o liście Warszawa-pm