Самый сложный для понимания паттерн
От: Sorc17 Россия  
Дата: 11.11.11 10:41
Оценка:
Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн? Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re: Самый сложный для понимания паттерн
От: hardcase Пират http://nemerle.org
Дата: 11.11.11 10:46
Оценка: :))
Здравствуйте, Sorc17, Вы писали:

S>Какой, вы считаете, самый сложный паттерн?


Сочетание божественного объекта и мегаметодов.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Самый сложный для понимания паттерн
От: Pavel_Agurov Россия  
Дата: 11.11.11 10:58
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн? Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?


Сложный для чего? Для понимания? Для написания? Для внедрения в готовый код?
Re: Самый сложный для понимания паттерн
От: о_О
Дата: 11.11.11 11:05
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?

3
Re[2]: Самый сложный для понимания паттерн
От: Sorc17 Россия  
Дата: 11.11.11 11:08
Оценка:
Здравствуйте, Pavel_Agurov, Вы писали:

P_A>Здравствуйте, Sorc17, Вы писали:


S>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн? Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?


P_A>Сложный для чего? Для понимания? Для написания? Для внедрения в готовый код?


Для понимания
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re: Самый сложный для понимания паттерн
От: 0x7be СССР  
Дата: 11.11.11 11:14
Оценка: 1 (1) +5
Здравствуйте, Sorc17, Вы писали:

S>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?

Я за Visitor.
Re[2]: Самый сложный для понимания паттерн
От: Stroustrups cat  
Дата: 11.11.11 11:17
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Здравствуйте, Sorc17, Вы писали:


S>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?

0>Я за Visitor.

Да, Посетитель самый сложный, по крайней мере из GoF.
Re[3]: Самый сложный для понимания паттерн
От: Enomay  
Дата: 11.11.11 11:30
Оценка:
S>>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?
0>>Я за Visitor.
SC>Да, Посетитель самый сложный, по крайней мере из GoF.

с какой стороны он самый сложный?
Re[4]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.11.11 11:37
Оценка: :))
Здравствуйте, Enomay, Вы писали:

S>>>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?

0>>>Я за Visitor.
SC>>Да, Посетитель самый сложный, по крайней мере из GoF.

E>с какой стороны он самый сложный?


Так-то он совсем не сложный. Просто среди понявших его очень легко обнаружить совершенно различное понимание паттерна.
Re[5]: Самый сложный для понимания паттерн
От: vdimas Россия  
Дата: 11.11.11 13:02
Оценка: 9 (1) +2
Здравствуйте, samius, Вы писали:

S>Так-то он совсем не сложный. Просто среди понявших его очень легко обнаружить совершенно различное понимание паттерна.


Мост еще толкуют кто куда.

В описании паттерна визитора, если склероз не изменяет, авторы непосредственно упоминают двойную диспетчеризацию, т.е. предполагается, что необходимо знать, что это такое, перед ознакомлением с паттерном.

Кстати, не ожидал в википедии по шаблонам проектирования такую главу:

Критика

Иногда шаблоны консервируют громоздкую и малоэффективную систему понятий, разработанную узкой группой. Когда количество шаблонов возрастает, превышая критическую сложность, исполнители начинают игнорировать шаблоны и всю систему, с ними связанную. Нередко шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.
Есть мнение, что слепое применение шаблонов из справочника, без осмысления причин и предпосылок выделения каждого отдельного шаблона, замедляет профессиональный рост программиста, так как подменяет творческую работу механической подстановкой шаблонов. Люди, придерживающиеся данного мнения, считают, что знакомиться со списками шаблонов необходимо тогда, когда программист «дорос» до них в профессиональном плане — и не раньше. Хороший критерий нужной степени профессионализма — выделение шаблонов самостоятельно, на основании собственного опыта. При этом, разумеется, знакомство с теорией, связанной с шаблонами, полезно на любом уровне профессионализма и направляет развитие программиста в правильную сторону. Сомнению подвергается только использование шаблонов «по справочнику».
Шаблоны могут пропагандировать плохие стили разработки приложений, и зачастую слепо применяются.


Лучше не скажешь. В следующий раз можно сразу в википедию отсылать.
Re[6]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.11.11 13:25
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, samius, Вы писали:


S>>Так-то он совсем не сложный. Просто среди понявших его очень легко обнаружить совершенно различное понимание паттерна.


V>Мост еще толкуют кто куда.


V>В описании паттерна визитора, если склероз не изменяет, авторы непосредственно упоминают двойную диспетчеризацию, т.е. предполагается, что необходимо знать, что это такое, перед ознакомлением с паттерном.

лучше бы упоминали expression problem с описанием дуализма, что бы читатель мог выбирать направление расширения.

V>Кстати, не ожидал в википедии по шаблонам проектирования такую главу:

V>

Критика


V>Лучше не скажешь. В следующий раз можно сразу в википедию отсылать.

тут толпа спецов, которым википедия не авторитет
Но сказано хорошо. Единственная проблема — как читатель должен понять, дорос ли он до паттернов?
Когда я их читал — был уверен что дорос . Потом, с опытом, уверенность пропала.
Re[5]: Самый сложный для понимания паттерн
От: l33thaxor  
Дата: 11.11.11 17:06
Оценка:
Здравствуйте, samius, Вы писали:

S>Здравствуйте, Enomay, Вы писали:


S>>>>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?

0>>>>Я за Visitor.
SC>>>Да, Посетитель самый сложный, по крайней мере из GoF.

E>>с какой стороны он самый сложный?


S>Так-то он совсем не сложный. Просто среди понявших его очень легко обнаружить совершенно различное понимание паттерна.


Мои коллеги не могут понять паттерн Template Method. Я уже вторую неделю им втолковываю. Даже сам уже всё понял , а они до сих пор не въезжают!
Re[6]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.11.11 19:15
Оценка:
Здравствуйте, l33thaxor, Вы писали:

L>Здравствуйте, samius, Вы писали:


S>>Так-то он совсем не сложный. Просто среди понявших его очень легко обнаружить совершенно различное понимание паттерна.


L>Мои коллеги не могут понять паттерн Template Method. Я уже вторую неделю им втолковываю. Даже сам уже всё понял , а они до сих пор не въезжают!


Это нормальный процесс. Теперь пусть они попытаются объяснить паттерн кому-нибудь еще. Сам так делаю
Re: Самый сложный для понимания паттерн
От: rm822 Россия  
Дата: 11.11.11 20:15
Оценка: 13 (2) :)
S>Какой, вы считаете, самый сложный паттерн?
God object + "банка с червями"
Это очевидно самые сложные паттерны, т.к. именно их применением завершается жизненный цикл проекта
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Самый сложный для понимания паттерн
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.11.11 21:54
Оценка: +1
Здравствуйте, Sorc17, Вы писали:

S>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн? Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?


ИМХО, прежде всего, такая оценка зависит от того, с каким количеством ситуаций, отражённых в паттернах, оценивающий сталкивался до того, как узнал о паттернах. Чем меньше ситуаций он прошёл самостоятельно, тем выше будут оценки сложности. И с другой стороны, если паттерн тебе не понятен, значит, с большой вероятностью, он тебе попросту не нужен и тебе не нужно им заморачиваться.

В действительности, когда ты столкнёшься с каким-нибудь классом SomeObjectsFactory отсылки к литературе по паттернам, как правило, ничего не дадут — всё равно придётся изучать спецификацию. И в этом контексте я бы вообще поставил паттернам оценки сложности +11 (трудно и не нужно), поскольку вместо того, чтобы разбираться с тем, что реально нужно (особенности работы ISomeObjectsFactory), не ровён час, придётся ещё и думать о том, как это проецируется на "классику". Короче, получится куча размышлений по какому-то очень надуманному поводу.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Самый сложный для понимания паттерн
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.11.11 22:00
Оценка:
Здравствуйте, samius, Вы писали:

V>>Кстати, не ожидал в википедии по шаблонам проектирования такую главу:

V>>

Критика

V>>Лучше не скажешь. В следующий раз можно сразу в википедию отсылать.
S>тут толпа спецов, которым википедия не авторитет

Википедия в последнее время несколько поздоровела. Так что, можно понемногу начинать пользоваться.

S>Но сказано хорошо. Единственная проблема — как читатель должен понять, дорос ли он до паттернов?

S>Когда я их читал — был уверен что дорос . Потом, с опытом, уверенность пропала.

С опытом чего? Неужели, применения паттернов?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Самый сложный для понимания паттерн
От: Abyx Россия  
Дата: 11.11.11 22:12
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Здравствуйте, Sorc17, Вы писали:


S>>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн?

0>Я за Visitor.

он прост в понимании (использовании посетителей) но сложен в реализации (в языках не поддерживающих двойную диспетчеризацию)
например boost.variant использует посетителей, и использовать boost.variant просто и удобно
а вот реализовать свой "фреймворк" для посетителей — сложно.

но это проблема конкретного языка, а не паттерна. как говорится у ГоФ (если н ошибаюсь), "когда мы пишем на Си, полиморфизм для нас становится паттерном, т.к. язык его не поддерживает"

вообще паттерны по определению должны быть простыми и понятными, так чтобы можно было посмотреть на код и сказать — это фасад, а это фабричный метод,
и с пониманием обычно проблем нет — "адаптер" адаптирует, "итератор" итерирует, и т.п.
In Zen We Trust
Re[8]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 12.11.11 00:03
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, samius, Вы писали:


V>>>Лучше не скажешь. В следующий раз можно сразу в википедию отсылать.

S>>тут толпа спецов, которым википедия не авторитет

ГВ>Википедия в последнее время несколько поздоровела. Так что, можно понемногу начинать пользоваться.

Я-то пользуюсь. Не без косяков, конечно. Доверяй, но проверяй. Но некоторые форумчание прямо насмех поднимают, видя ссылки на википедию.

S>>Но сказано хорошо. Единственная проблема — как читатель должен понять, дорос ли он до паттернов?

S>>Когда я их читал — был уверен что дорос . Потом, с опытом, уверенность пропала.

ГВ>С опытом чего? Неужели, применения паттернов?

да. Опыт — сын ошибок трудных (ц).
Re[9]: Самый сложный для понимания паттерн
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 02:37
Оценка: 16 (2) +1 :)
Здравствуйте, samius, Вы писали:

S>>>Но сказано хорошо. Единственная проблема — как читатель должен понять, дорос ли он до паттернов?

S>>>Когда я их читал — был уверен что дорос . Потом, с опытом, уверенность пропала.
ГВ>>С опытом чего? Неужели, применения паттернов?
S>да. Опыт — сын ошибок трудных (ц).

Эм... То есть по мере накопления опыта в заведомо неправильной практике (применения паттернов) ты дошёл до осознания того, что ты "не дорос" до такой практики? Ну, мои поздравления. Так всегда случается с неправильными вещами: чем больше их применяешь, тем, кажется, хуже ты в них ориентируешься. На самом деле, всё обстоит строго наоборот: твой мозг тебе сигналит о том, что ты делаешь глупости, только почему-то ты его не слушаешь. Короче, у тебя возникает когнитивный диссонанс: делаешь всё вроде бы "правильно", а результат получается не тем, который ждёшь. Притом, чем больше опыта, тем больше "дистанция" между тем, что сказано в "паттерне" и тем, что ты видишь на самом деле, поскольку связи-то в мозгу нарабатываются совсем не зависимо от того, что написано в очередной плохо переведённой книжице. Дальше есть два варианта. Первый, неправильный — накручивать себя по части того, что ты не дорос (читай, холить и лелеять комплекс неполноценности). Второй, правильный — перестать "применять паттерны". Вообще. Совсем. И написать на RSDN постинг: "I hate patterns" в порядке нарративной психотерапии.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Самый сложный для понимания паттерн
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 03:00
Оценка: -1 :))) :)
Здравствуйте, samius, Вы писали:

ГВ>>С опытом чего? Неужели, применения паттернов?

S>да. Опыт — сын ошибок трудных (ц).

Вот тебе несколько профилактических высказываний:

— Premature pattern is a root of evil. Pattern never be mature.
— Когда я слышу "применение паттернов" моя рука тянется к пистолету.
— Не трогай паттерн — вонять не будет.
— Паттерн — не воробей, вылетит — не поймаешь.
— Пусти паттерн за стол, он и ноги на стол.
— Кто рано встаёт, тот избегает применения паттернов.
— Не стёр паттерн — день зря прошёл.
— Трудно жить, применяя паттерны.
— Отказаться от применения паттернов намного проще, чем бросить курить. Ты не куришь? Значит, полдела уже сделано!
— Умный по паттерну не пойдёт, умный паттерн обойдёт.
— Глупый паттерн робко прячет тело жирное в утёсах.
— Допустим, я применяю паттерны. Допустим, я одурел (впрочем, я повторяюсь).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.