Это хорошая альтернатива Moose Perl?
Я искал альтернативу Moose (современный объектно-ориентированный Perl). Поскольку Moose работает медленно, я видел несколько постов, связанных с этой проблемой, я не хочу этого.Пример от того же автора: https://www.youtube.com/watch?v=ugEry1UWg84&feature=youtu.be&t=260
Так что я нашел эту альтернативу от того же создателя лося:
https://metacpan.org/pod/MOP MOP - протокол мета-объектов для Perl 5
Этот модуль реализует мета-объектный протокол для Perl 5 с минимальными издержками и без неосновных зависимостей (в конце концов).
Работа с УНИВЕРСАЛОМ:: Объект:
https://metacpan.org/pod/UNIVERSAL::Object
Это хороший выбор и альтернатива Moose, кто-нибудь тестирует это программное обеспечение?
Связанный пост: https://www.perlmonks.org/?node_id=1220917
Благодарю.
Примечание: я забыл упомянуть, что знаю о Му, Маусе и т. Д., Может быть, существует что-то лучшее?
2 ответа
В каком контексте вы используете Moose и считаете это медленным? Конечно, это связано с накладными расходами, но большинство из них происходит во время запуска (компиляция); затем, во время выполнения, большинство функций дешевы (если вы делаете ваши классы неизменяемыми), как объясняется в документации. Со временем Moose стал стандартом де-факто для объектно-ориентированного программирования, и у него очень и очень широкая экосистема (поиск по MooseX в metacpan возвращает 820 результатов). Не сдавайся рано.
Если вам действительно нужно более быстрое время запуска (как, например, в обычной CGI-среде), наиболее подходящей альтернативой Moose является Moo, Minimal Object Orientation. Он действительно легкий, не имеет XS-зависимостей, но реализует значительное подмножество Moose (кроме того, его синтаксис полностью совместим с Moose, поэтому вы можете перейти на Moose в любое время позже, если вам понадобится часть функциональности, которую вы обнаружите в Moo), У этого также есть богатая экосистема.