Цитата (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();
Одиночный декоратор есть смысл называть проксей с дополнительными оговорками, для более точного описания происходящего.
Так сложилось, это не я придумал! =)
Цитата (twin @ 8.09.2017 - 20:54) |
Я так понял, их там несколько человек всего. Но заработать такие деньги на обучении, это не пуп козе поцарапать. |
Заработок и оборот вещи "немножко" разные. :rolleyes:
Цитата (Ron @ 8.09.2017 - 19:34) |
Вся эпичность ситуации, что мы несколько постов назад жарко спорили о прокси vs декоратор, и тут ты в качестве примера декоратора приводишь проксю и спрашиваешь, декоратор это или нет. |
Да, первый пример был неудачным. Зря я туда эксепшен воткнул. Но второй пример проксей назвать никак нельзя. Ибо там прямо в методе происходит изменение функционала. А прокси функционал изменять права не имеет.
Цитата (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) |
Заработок и оборот вещи "немножко" разные. |
А какие у них расходы, у них даже офиса нет. Они работают удаленно, находясь в разных городах. На сервер расходы?
Тут важен даже не заработок. Тут важен размер аудитории. При базовой стоимости курса от 24 евро, можно представить, сколько народу у них учится.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.