Re[10]: Продолжим
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 03:15
Оценка: :)
- Есть два способа применения паттернов: плохой и неправильный.
— Незваный паттерн хуже дурного начальника.
— Паттерн с возу — программисту легче.
— Бестолковый паттерн утомляет хуже работы.
— Тяп-ляп — и паттерн!
— От паттерна паттерн не ищут.
— Паттерн мой — враг мой (прежде ума глаголет).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: И наиглавнейшее
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 03:22
Оценка:
Когда в хвосте начало, то в голове точно — паттерн!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 12.11.11 07:41
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:

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


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

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

ГВ>Эм... То есть по мере накопления опыта в заведомо неправильной практике (применения паттернов) ты дошёл до осознания того, что ты "не дорос" до такой практики? Ну, мои поздравления. Так всегда случается с неправильными вещами: чем больше их применяешь, тем, кажется, хуже ты в них ориентируешься. На самом деле, всё обстоит строго наоборот: твой мозг тебе сигналит о том, что ты делаешь глупости, только почему-то ты его не слушаешь. Короче, у тебя возникает когнитивный диссонанс: делаешь всё вроде бы "правильно", а результат получается не тем, который ждёшь. Притом, чем больше опыта, тем больше "дистанция" между тем, что сказано в "паттерне" и тем, что ты видишь на самом деле, поскольку связи-то в мозгу нарабатываются совсем не зависимо от того, что написано в очередной плохо переведённой книжице. Дальше есть два варианта. Первый, неправильный — накручивать себя по части того, что ты не дорос (читай, холить и лелеять комплекс неполноценности). Второй, правильный — перестать "применять паттерны". Вообще. Совсем. И написать на RSDN постинг: "I hate patterns" в порядке нарративной психотерапии.


Эту стадию я уже прошел.
Паттерн это просто способ сделать что-то. Один из способов, со своими преимуществами и недостатками, со своей ценой. Какой смысл ненависти к способу? Проблему представляет не способ, а его слепое использование по случаю и без.
Re: Самый сложный для понимания паттерн
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 12.11.11 08:22
Оценка: 4 (2) +4 :)))
S>Может вопрос слегка глупый, просто я новичок Какой, вы считаете, самый сложный паттерн? Если бы вы самому сложному поставили 10 баллов по шкале сложности, то сколько бы вы поставили абстрактной фабрике?

MVC конечно. Никто точно не знает что должно быть в Model. Вообще никто не знает что делает Controller . Но паттерн все используют .
Re[12]: И наиглавнейшее
От: neFormal Россия  
Дата: 12.11.11 08:24
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Когда в хвосте начало, то в голове точно — паттерн!


С утра паттерн — весь день свободен!
...coding for chaos...
Re: Самый сложный для понимания паттерн
От: okman Беларусь https://searchinform.ru/
Дата: 12.11.11 11:28
Оценка: +2
Здравствуйте, Sorc17, Вы писали:

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


Если паттерн сложный, то это антипаттерн. IMHO.
Все основные паттерны довольно просты и даже тривиальны.
Единственная и ненужная сложность в том, чтобы разобраться "как принято" реализовывать
тот или иной паттерн, включая такие детали как именование, вместо того, чтобы
просто назвать и реализовать его понятным для себя и других образом и продолжить
заниматься работой, а не научно-творческими изысканиями (не страдать фигней, проще говоря).
Re[11]: Самый сложный для понимания паттерн
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 12.11.11 15:26
Оценка:
Здравствуйте, samius, Вы писали:

S>Эту стадию я уже прошел.

S>Паттерн это просто способ сделать что-то. Один из способов, со своими преимуществами и недостатками, со своей ценой. Какой смысл ненависти к способу? Проблему представляет не способ, а его слепое использование по случаю и без.

Тогда всё значительно лучше, чем мне сперва показалось.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Самый сложный для понимания паттерн
От: Lloyd Россия  
Дата: 12.11.11 15:30
Оценка:
Здравствуйте, l33thaxor, Вы писали:

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


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


Попробуйте объяснить Стратегию, а потом скажите, что Template Method — это частный случай Стратегии, когда пользователь статегии и класс, который ее реализует, — один и тот же.
Re[6]: Самый сложный для понимания паттерн
От: vdimas Россия  
Дата: 12.11.11 17:19
Оценка:
Здравствуйте, l33thaxor, Вы писали:

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


Хм... уточни, хорошо ли они понимают понятие "абстракция" и как полиморфизм является ее инструментом? И далее, через способ реализации полиморфизма на виртуальных методах выйдешь прямо на Template method.
Re[2]: Самый сложный для понимания паттерн
От: vdimas Россия  
Дата: 12.11.11 17:33
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

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


EOH>MVC конечно. Никто точно не знает что должно быть в Model. Вообще никто не знает что делает Controller . Но паттерн все используют .


Потому что в чистом виде не используют, а раскладывают всего на 2 составляющие. View обычно имеет дело только с model, и в этом плане оно классической Document-View, а контроллером называют весь код вокруг, который создает и отвечает за время жизни View, а так же в ответ на события View делает что-то полезное с моделью и самим View. Т.е. классический Document-View, потому что Controller обычно не есть конкретный объект (или всего один объект), это именно что весь код вокруг да около.

На самом деле MVP и прочие разновидности — это ответ на потребность писать тесты для контроллера в отсутствии реального View и даже Model. А сделав всех участников этой троицы абстрактными, придем к окончательному его воплощению в виде MVVP.
Re[3]: Самый сложный для понимания паттерн
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 14.11.11 14:09
Оценка:
V>а контроллером называют весь код вокруг, который создает и отвечает за время жизни View, а так же в ответ на события View делает что-то полезное с моделью и самим View

Особенно это хорошо заметно в таком маленьком нишевом фреймворке как Cocoa.
Re[5]: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 14:23
Оценка:
Здравствуйте, samius, Вы писали:

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


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


Похоже, что это и есть "сложный"
Re: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 14:26
Оценка:
Здравствуйте, Sorc17, Вы писали:

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


А что значит "сложный" ? Как определить эту самую сложность да так что бы можно было сравнивать один паттерн с другим по этой самой сложности ?

Судя по ответам в топике, люди по разному понимают этот термин, т.к. есть и такие "мне понятно — значит паттерн простой"
Re[6]: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 14:29
Оценка:
Здравствуйте, l33thaxor, Вы писали:

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


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


Значит они не понимают какой то составляющей в этом паттерне. Очень часто люди плохо понимают, что такое виртуальные функции. А вот проблемы с такими вещами, как обязанности и депенденсы это вобщем то норма даже у людей с большим опытом/зп.
Re[2]: Самый сложный для понимания паттерн
От: sidorov18 США  
Дата: 17.11.11 14:30
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>MVC конечно. Никто точно не знает что должно быть в Model. Вообще никто не знает что делает Controller . Но паттерн все используют .


И вообще, зачем, реально, этот паттерн в конкретном проекте..
Re[2]: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 14:31
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


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


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


А что значит сложность ? То, что ты пишешь, больше похоже на трудности при освоении, а что такое сложность —
Re[10]: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 14:51
Оценка: -1
Здравствуйте, Геннадий Васильев, Вы писали:

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


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

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

ГВ>Эм... То есть по мере накопления опыта в заведомо неправильной практике (применения паттернов) ты дошёл до осознания того, что ты "не дорос" до такой практики? Ну, мои поздравления. Так всегда случается с неправильными вещами: чем больше их применяешь, тем, кажется, хуже ты в них ориентируешься. На самом деле, всё обстоит строго наоборот: твой мозг тебе сигналит о том, что ты делаешь глупости, только почему-то ты его не слушаешь. Короче, у тебя возникает когнитивный диссонанс: делаешь всё вроде бы "правильно", а результат получается не тем, который ждёшь. Притом, чем больше опыта, тем больше "дистанция" между тем, что сказано в "паттерне" и тем, что ты видишь на самом деле, поскольку связи-то в мозгу нарабатываются совсем не зависимо от того, что написано в очередной плохо переведённой книжице. Дальше есть два варианта. Первый, неправильный — накручивать себя по части того, что ты не дорос (читай, холить и лелеять комплекс неполноценности). Второй, правильный — перестать "применять паттерны". Вообще. Совсем. И написать на RSDN постинг: "I hate patterns" в порядке нарративной психотерапии.


Начни с себя. "нарративной " — это уже паттерн. "когнитивный диссонанс" — снова паттерн. "комплекс неполноценности" — обратно паттерн. Опаньки !

В программухе с паттернами ровно так же, как и в любой другой области — паттерны со временем устаканиваются и превращаются в конкретные понятия при чем паттернами от этого не перестают быть.
Вопрос исключительно в том, что же дают паттерны и почему они появляются сами собой практически в любой области. А когда выяснится, что этого не избежать, нужно просто направить процесс в мирное русло. Например в шахматах никто не орёт что не надо применять паттерны. Есть например принятый гамбит, отказанный гамбит, контргамбит и более конкретные вроде сицилианская защита, королевский гамбит, дебют ххх и тд и тд. Другой вопрос, что принятие решений основывается не на самих паттернах, а более базовых вещах, в шахматах это фигуры, комбинации и позиция.

Дело в том, что мозг хранит инфу не в виде строчек кода, а в предельно сжатом виде и чем выше способности индивида к абстрагированию, тем сильнее сжимается эта самая инфа. Паттерны это как раз она и есть. А вот для принятия решения нужны в т.ч. детали. Фокус в том, что обрабатывать первичную инфу мозг умеет, но делает это крайне м е д л е н н о.

Отсюда очевидно, что если за эталон взять некоего идеального программиста, эдакий God-Developer, то получится, что ему не нужны никакие паттерны и тд и тд. Но только ему паттерны и не нужны.
Re[6]: Самый сложный для понимания паттерн
От: samius Япония http://sams-tricks.blogspot.com
Дата: 17.11.11 15:32
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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


I>Похоже, что это и есть "сложный"


Как раз о тебе вспоминл, когда писал ответ.
Re[7]: Самый сложный для понимания паттерн
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.11.11 15:53
Оценка:
Здравствуйте, samius, Вы писали:

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


I>>Похоже, что это и есть "сложный"


S>Как раз о тебе вспоминл, когда писал ответ.


Это хорошо, что у тебя уже есть реакция. Осталось её закрепить.
Re: Самый сложный для понимания паттерн
От: Wolverrum Ниоткуда  
Дата: 17.11.11 23:24
Оценка:
Здравствуйте, Sorc17, Вы писали:

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

Фабрике я поставлю 1. Очень простая концепция.
Тут еще упоминали мост и посетитель. 2 и 1 соответственно.
Шаблонный метод — 2.
Строитель — 2.
Стратегия — 1.
Состояние — 3.
Интерпретатор, команда — 3.
Одиночка, фасад — 1
Адаптер — 3.
Посредник, прокся — 1.
Декоратор — 3.
Короче, простые они, паттерны "четырех"

Цепочка ответственности, композит as-is, приспособленец — хз, применить не довелось.

Самый угребищный в плане понимания паттерн для меня — это event-delegate. Вот уже лет 8 не понимаю, что с ним можно делать
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.