[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Design Patterns
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Ron
Цитата (twin @ 8.09.2017 - 20:54)
Хорошо, соглашусь. Но если так

Вся эпичность ситуации, что мы несколько постов назад жарко спорили о прокси vs декоратор, и тут ты в качестве примера декоратора приводишь проксю и спрашиваешь, декоратор это или нет. :lol:

Цитата (twin @ 8.09.2017 - 20:54)
Нет такого условия, что обязательна цепочка. Это все придумки.

Условия нет, а примеры на всех языках говорят о том, что должна быть цепочка, или как минимум возможность. Поэтому, когда говорят о паттерне декоратор, слушатель в первую очередь представляет себе вот такую конструкцию:
$decorator = new TextHello(new TextSpace(new TextWorld(new TextEmpty())));
$decorator->show(); // Hello world


Одиночный декоратор есть смысл называть проксей с дополнительными оговорками, для более точного описания происходящего.

Так сложилось, это не я придумал! =)

Цитата (twin @ 8.09.2017 - 20:54)
Я так понял, их там несколько человек всего. Но заработать такие деньги на обучении, это не пуп козе поцарапать.

Заработок и оборот вещи "немножко" разные. :rolleyes:
twin
Цитата (Ron @ 8.09.2017 - 19:34)
Вся эпичность ситуации, что мы несколько постов назад жарко спорили о прокси vs декоратор, и тут ты в качестве примера декоратора приводишь проксю и спрашиваешь, декоратор это или нет. laugh.gif
Да, первый пример был неудачным. Зря я туда эксепшен воткнул. Но второй пример проксей назвать никак нельзя. Ибо там прямо в методе происходит изменение функционала. А прокси функционал изменять права не имеет.

Цитата (Ron @ 8.09.2017 - 19:34)
Условия нет, а примеры на всех языках говорят о том, что должна быть цепочка, или как минимум возможность.
Да мало ли что говорят примеры. В описании есть такое:
Цитата
This difference becomes most important when there are several independent ways of extending functionality.
Другими словами важна динамика и независимость. Паттерн важен вовсе не из-за цепочки, а потому, что позволяет изменять поведение во время исполнения программы. Там, где нельзя использовать наследование.

Допустим в моем фреймворке, где всякие фишки представлены сервисами. Клиент получает сервис в виде объекта, и не может изменить его с помощью наследования. Но иногда что то изменить хочется. Вот тут декоратор - что доктор прописал. Однако на кой хрен там цепочка - мне невдомек. Там как раз важнее параллельное декорирование, нежели последовательное.

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

Цитата (Ron @ 8.09.2017 - 19:34)
Поэтому, когда говорят о паттерне декоратор, слушатель в первую очередь представляет себе вот такую конструкцию:
А вот тут ключевые слова - "в первую очередь". Это следствие уже. Когда говорят о наследовании, слушатели тоже представляют себе кучу классов, расширяющих друг друга по очереди. Однако...

Однако нельзя отрицать и вторую очередь, на мой взгляд более важную.

Цитата (Ron @ 8.09.2017 - 19:34)
Одиночный декоратор есть смысл называть проксей с дополнительными оговорками, для более точного описания происходящего.
Нет. Нету такого смысла, ибо если у бабушки есть хер, это дедушка. Суть прокси - неизменность функционала. А прокся с изменяемым функционалом, это декоратор. Какие оговорки ты не приводи. Кстати, в описании паттерна как раз и приводятся различия между адаптером, проксей и декоратором. Никаких цепочек в различиях нет, а есть четкие условия. Адаптер изменяет интерфейс, не изменяя функционал. Декоратор изменяет функционал не изменяя интерфейс. Прокси не изменяет функционал и не изменяет интерфейс. Исключающие друг друга принципы.

Цитата (Ron @ 8.09.2017 - 19:34)
Заработок и оборот вещи "немножко" разные. rolleyes.gif
А какие у них расходы, у них даже офиса нет. Они работают удаленно, находясь в разных городах. На сервер расходы?

Тут важен даже не заработок. Тут важен размер аудитории. При базовой стоимости курса от 24 евро, можно представить, сколько народу у них учится. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.