Есть интересное видение ООП от джависта https://www.youtube.com/watch?v=lfdAwl3-X_c и его же про орм https://www.youtube.com/watch?v=ckjAWXJWZEY
Про то, что большинство программистов думают процедурами, а не объектами. А прок в маленьких классах - разделение труда. Каждый класс решает свою маленькую задачку и отвечает за ее решение. Его можно лекго протестировать, рефакторить, понять, что он делает. 16 декабря 2016 г., 10:02 пользователь Konstantin S. Uvarin via Moscow-pm < [email protected]> написал: > Приветствую! > > "На пару функций". Поехали. > > 1) Захват ресурса (временный файл, например). > > ООП позволяет написать что-то в духе > > my $resource = My::Resource->new( %params ); > my $fd = $resuource->file; > > # долго делаем что-то с $fd > > undef $resource; # вызвался деструктор и освободил ресурс за нас > # и это сработает независимо от того, вызвали мы return или die > # разве что на exec-е не сработает, или если сигналом убили. > > Хотя в тестовых скриптах, например, вызываю mktemp( ..., CLEANUP => 1 ); > и не парюсь. > > 2) сериализация: > > my $codec = My::Serializer->new( %params ); > $codec->encode( ... ); > $codec->decode( ... ); > > И тут мы (а) гарантируем, что параметры надо менять в ОДНОМ месте, и (б) > гарантируем 100% раунд-трип данных (то есть, encode(decode(x)) == x). > > Опять же, есть куча мест, где freeze/thaw или encode_json/decode_json > прекрасно работают. А вот попробуйте сконфигурировать (через local > Data::Dumper::foo = ... ) Data::Dumper так, как удобно Вам, а не ему - > узнаете много новых выражений из уже известных Вам слов :) > > > С уважением, > > > 2016-12-16 8:27 GMT+02:00 Максим Белозёров via Moscow-pm <[email protected] > >: > >> Объясните непрограммисту: что за прок от ООП в модулях на пару функций >> (пардон, методов)? Что за смысл многословно и со стрелочками писать что-то, >> что можно вызвать одним именем функции с парой параметров? Какая вообще >> польза в абстрагировании от входных данных? Они разные, блин, чего стоит >> абстрактная хня в вакууме? Не ООП ли это ради ООП? >> Вкусовщинка: какие способы общения со сторонними модулями предпочитаете? >> Может, вопросы глупы, но очень нужна пара осмысленных ответов. Больших >> проектов не пишу, а в мелких на ламерский взгляд от ООП одна порча. >> Помогите разобраться, хоть ссылками на годные материалы (можно en_US или >> en_UK). >> >> -- >> С наилучшими пожеланиями >> Максим Белозёров >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org >> > > > > -- > Konstantin S. Uvarin > jabber: see <from> > skype: kuvarin > http://github.com/dallaylaen > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- С уважением, Иван
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
