To jest bardziej typu use-case pytania ... ale też na tyle ogólne, aby być szerzej stosowane:Perl OO ramy i program do projektowania - Moose i wewnątrz-out obiektów Conwaya (klasa :: STD)
Krótko mówiąc, pracuję nad modułem, który jest mniej więcej otoką linii poleceń; W naturalny sposób. Bez wchodzenia w zbyt wiele detali (chyba, że ktoś ich chce), nie ma w tym systemie szalonej złożoności, ale naturalne było posiadanie w tych ramach trzech lub czterech obiektów. Na koniec, jest to raczej open source'owy temat, niż moduł z kilkoma programistami w tej samej firmie, która nad nim pracuje.
Najpierw wdrożony OO użyciu Class :: Std, ponieważ Perl Best Practices (Conway, 2005) to dobry argument za dlaczego używać wewnątrz-out obiektów. Pełna kontrola nad dostępnymi atrybutami itd., Właściwa enkapsulacja itp. Również jego projekt jest zaskakująco prosty i sprytny.
lubiłem go, ale potem zauważyłem, że nikt nie używa tego; w rzeczywistości wydaje się, że Conway sam już tego nie poleca?
Więc przeniosłem się do wszystkich ulubionych, Moose. Jest łatwy w użyciu, chociaż sposób na przesadę jest odpowiedni do tego, co chcę robić. Główną wadą jest to, że ma mnóstwo zależności między modułami, które zmuszają użytkowników mojego modułu do pobierania ich wszystkich. Minusem jest to, że ma znacznie więcej funkcji, niż naprawdę potrzebuję.
Co to są zalecenia? Niedogodności dla deweloperów, zmuszając ich do korzystania z potencjalnie przestarzałego modułu lub zmuszają każdego użytkownika modułu do pobrania Łosia i wszystkich jego zależności?
Czy istnieje trzecia opcja dla odpowiednich ram Perl OO to popularne, ale żadna z tych dwóch?
Definiowanie "zabitych"? Łoś ma 4 zależności nie w klasie :: Std, z których największy to Klasy :: MOP, który jest cały punkt Łosia. – perigrin
Zapominasz o zależnościach zależności. :-) – Emmel
A slew -> http://deps.cpantesters.org/?module=Moose;perl=latest Zniżka na wszystkie podstawowe moduły, 16 nie jest taka zła, ale jej nie ma 4. – Schwern