![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Не по собственному опыту, но по наслышке (в т.ч. и темы http://forum.vingrad.ru/forum/topic-133547.html) знаю, что с ООП в Perl плохо.
Хотелось бы понять что именно плохо, и реально можно ли его использовать? Что такое Moose, и исправляет ли он проблемы с ООП в Perl? Согласно википедии есть модуль Class::Prototyped , добавляющий прототипное ООП в Perl, исправляет ли он проблемы? |
|||
|
||||
DaemonSuw |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 11.3.2008 Репутация: 3 Всего: 3 |
||||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
moose - это как дополнение чтобы программировать в стиле C#/java
хотя, очень много всего mooseX добавленно, например http://search.cpan.org/~flora/MooseX-Metho...d/Signatures.pm еще коротко http://kostenko.name/2009/08/07/moose/ вот я не давно увидел ++ http://search.cpan.org/~dmow/PlusPlus-1.23/PlusPlus.pm сразу на всех языках можно писать Это сообщение отредактировал(а) gcc - 10.10.2009, 23:02 |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Имхо сама технология ООП проста до не возможости:
1) инкапсуляция - это когда данные объединяются в объекты. Т.е. возможность привязывать методы к структурам - в перле ЕСТЬ 2) наследования - не надо объяснять что такое. В перле ЕСТЬ, хотя и не идеально 3) полиморфизм а) простой - возможность давать одинаковые имена методам для работы с разными классами. вызывается нужный метода в зависимости от класса б) истинный - возможность писать абстрактные алгоритмы и структуры - например дерево для хранения хранения произвольных объектов или функцию map для дерева - есть. Так что в перле все есть =) Соль ООП не в фичах типа "статических методов и protected переменных", а в правильной архитектуре кода. В правильно проектировании. В том, что как можно сильнее понизить зависимость между отдельными модулями. Перл предоставляет все необходимое для этого. |
|||
|
||||
Logo |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: 3 Всего: 10 |
Попробовал Moose, действительно ООП проще для понимания, обычное перловское ООП я пока не осилил. Интересно, как оно все же на практике, применимо, или
?
![]() ![]() |
||||
|
|||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Я бы не сказал, что плохо. Модель ООП в перле просто очень минималистична. "Вот тебе детали, а инструменты из них сделай сам". Есть попытки предоставить уже готовые инструменты - различные Class::* модули, Moose. Не хватает какого-то функционала? Напиши его сам (или найди модуль).
В такой модели есть как плюсы, так и минусы. А "статические методы и protected переменные" (не буквально) и есть одно из средств для обеспечения минимальной связанности) -------------------- Died at Life.pl line 21 |
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Хм... всегда придерживался мнения, что нужно соотносить так сказать "цена-качество".. Т.е. если есть необходимость - юзай ООП стиль, нет - не хулигань
![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |