Это вопрос типа варианта использования ... но также достаточно общий, чтобы его можно было применять более широко:
Короче говоря, я работаю над модулем, более или менее команднымобёртка строки;Оо естественно.Не вдаваясь в подробности (если кто-то их не хочет), в системе нет сумасшедшей сложности, но было вполне естественно иметь три или четыре объекта в этой среде.И, наконец, я предложу это с открытым исходным кодом, а не модуль, над которым работают несколько разработчиков из той же фирмы.
Сначала я реализовал ОО, используя Class :: Std, потому что Perl Best Practices (Conway, 2005) привел хороший аргумент в пользу того, почему использовать объекты наизнанку.Полный контроль над тем, какие атрибуты доступны и так далее, правильная инкапсуляция и т. Д. Кроме того, его дизайн удивительно прост и умен.
Мне понравилось, но потом заметил, что никто действительно не использует это;на самом деле кажется, что сам Конвей больше не рекомендует это?
Итак, я перешел к любимому человеку, Мус.Это простой в использовании, хотя способ излишне функциональный для того, что я хочу сделать.Большой, главный недостаток: у него есть множество зависимостей от модулей, которые вынуждают пользователей моего модуля загружать их все.Небольшой недостаток - у него гораздо больше функциональности, чем мне действительно нужно.
Какие рекомендации?Неудобные коллеги-разработчики, вынуждая их использовать возможно устаревший модуль или заставлять каждого пользователя модуля загружать Moose и все его зависимости?
Существует ли третий вариант для надлежащей платформы Perl OO, которая популярна, но неиз этих двух?