|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ivan Frolcov 2:5020/175.2 19 Nov 2003 16:09:37 To : Serge Chervjakov Subject : Re: Производительность ООП -------------------------------------------------------------------------------- Wed Nov 19 2003 12:16, Serge Chervjakov wrote to Konstantin Stupnik: KS>> применение OOP дизайна в большом проекте не повлияет KS>> сколь нибудь заметно на его производительность. SC> ... а в большом проекте скорее даже ускорит, за счет меньшего кол-ва SC> ошибок в коде и большей продуманности этого самого кода. Плавали, знаем. "Большой проект" обычно начинается с чего-то бодрого типа use ZQN::MainMod; #(а то бы я ни в жисть не догадался, что это MainMod) $ZQN::ExUt::dispatcher = sub { my $o={}; bless $o, shift; $o->dispatch }; GoCamel->All( thaobject => new ZQN::ThaObject( @ARGV )); Документация на такие упражненения в ОО обычно отсутствует напрочь, наглухо, нет ее, не было и не будет никогда, в лучшем случае - рассуждения о горнем, которые еще больше запутывают ("кажется, мы решили так не делать..."), а человек, который это писал, уволился два года назад/лежит в больнице с ЧМТ (состояние врачи оценивают как тяжелое). Hадо, как положено, вчера. Комментарии состоят обычно из замечений, заставляющих задуматься о быстролетящем времени типа "это было надо Пупкину, убрать к 10.10.1998" и проч. в том же духе. Объекты рассеяны по мириадам модулей в пять строк. Про традиционное переписывание CGI, разборщика конфигов, обработчика шаблонов и своей, уникальной в неповторимости нашлепки над DBI говорить не приходится - это условие обязательное, хороший тон (ведь сказано было "...а пользуется тем чужой человек: это суета и зло великое"? Hу вот.) Кстати, нынче вошло в моду отправлять диагностические сообщения в самые интересные и неожиданные места, причем узнать место, куда будет отправлено это удовольствие можно только путем тщательного изучения очень объектно-ориентированного ZQN::Helpers::ExcptnHandler::Log::LogSaver::SaverToStream::SaverToFile. (Это чудо умеет сохранять ошибки в файл, в сокет, рассылать по UDP, отправлять syslog'у и на виндовые тачки - но почему-то по умолчанию не умеет выдавать их в STDERR, и заодно отрывает исключения). Все это дело, разумеется, может жить только как апачевый модуль. Зачем? А черт его знает, так сложилось... SC> Hо если челу так хочется писать боьшой проект в процедурном стиле, а Мне вот хочется писать как можно проще. А процедурный-непроцедурный - дело десятое. SC> не в стиле ООП, что ж - пускай дерзает. Того глядишь, после написания при SC> первой же просьбе добавить/убрать/изменить/исправить какую-нить фичку, он SC> поймет, как же он ошибся при выборе стиля написания. Hу а если не поймет, Тут вообще самое грустное. Чем меньше ООП и привнесенной автором объектной ориентированности - тем проще. А вот где ее много - начинаются чудеса. В одном месте дернешь - в пяти шевелиться начинает. SC> то скорее всего, он либо просто никогда не писал с использованием ООП, SC> либо проект не достаточно крупен. Пилите... тьфу, пишите-пишите. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3300eed7604c.html, оценка из 5, голосов 10
|