[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Smarty
Страницы: 1, 2, 3, 4, 5
twin
Цитата (Ron @ 7.05.2017 - 08:26)
Откуда взялся DIC? Случайно не последняя буква от SOLID, которая обозначает DIP?
Да, разумеется.
Цитата (Ron @ 7.05.2017 - 08:26)
А ты используешь готовое, правда не кнопкой Ctrl+C, а пишешь на неоптимальном ЯП, почему-то.  Метафизически.
Давай не будем "да ты - да я". Может это и так, не стану спорить. Однако ООП от этого не станет меньшае походить на копипасту. smile.gif
Цитата (Ron @ 7.05.2017 - 08:26)
Да мне не интересно ни про какие bad-practice, я хочу научить молодежь best-practice. =) Хорошая практика не изобретать велосипедов. Любые ошибочные силлогизмы или софизмы на сей счет меня не ипут.
Это плохая практика, не изобретать велосипедов. И твоё глобальное заблуждение меня не волнует тоже. smile.gif
Цитата (Ron @ 7.05.2017 - 08:26)
Ну раз тебя библиотека заставляет носить "кроссовки на шпильках", значит выбрал не то.
Дак а я про что? Если я не могу выбрать то, что мне нужно, я пишу это сам. А не ковыляю в кроссовках на шпильках.
Цитата (Ron @ 7.05.2017 - 08:26)
Twig, например, не умеет отправлять почту, так что он не на все случаи жизни.
Если твиг еще и почту отправлял бы, это были бы кроссовки, жаренные с трюфелями.

А вот давай теперь посмотрим на Смарти внимательно. Допустим я юзаю фреймворк. К примеру Yii. В нем есть вполне достойный конструктор форм. С валидацией, блэкджеком и шлюхами. И мне нужно сделать несколько чекбоксов. Но я, наслушавшись твоих советов, решил, что нужно юзать "золотой стандарт", и прикрутил Смарти. А там тоже есть {html_checkboxes}, (тот самый, который глючит smile.gif ). И как теперь быть? Нужно ли объяснять, что налицо Boat anchor? И это в лучшем случае. А если теперь кто-то из команды будет юзать генератор Yii, а кому то захочется воспользоваться медвежьей любезно предоставленной услугой Смарти? Начинается каша. Какой это антипаттерн? Или все ещё "золотой стандарт"?

А еще, как в таком случае быть с SOLID? С тем самым DIP? Если генерация элемента находится в шаблоне, значит абстракция начинает зависеть от деталей.
Как быть с переиспользованием? Я захочу другой шаблонизатор, или вообще натив. Где чекбокс с его аттрибутами и возвратом? Нету.

А всё потому, что к кросовку прибили каблук. Генерация элементов, это не профильная задача шаблонизатора. Равно как и многое другое, не только из набора {html_}. Про кэширование даже говорить не стоит, кроме него очень много разных "веселых" моментов. Массивы, одних модификаторов около 20 штук, даже собственный eval есть и так далее. Вот не слишком ли много она на себя берет? Профильная задача шаблонизатора - заполнить данными и отрендерить шаблон. Всё. Остальное от лукавого.
Цитата (Ron @ 7.05.2017 - 08:26)
Ну раз тебя библиотека заставляет носить "кроссовки на шпильках", значит выбрал не то.
Да, это не то. И я поэтому и не выбрал Смарти. Мне это не подходит. Тебе подходит - радуйся. А мне нет. Мне бы подошел XTemplate, очень лаконичный и простой шаблонизатор. Но у него нет наследования шаблонов. А это как раз профильная задача. Так что тут наилучшее решение - собственный велосипед. Что я и сделал. И никакие твои абстрактные инсенуации меня не ипут. biggrin.gif
Цитата (Ron @ 7.05.2017 - 08:26)
В чем конкретно не прав?
Вообще это относилось к этому:
Цитата (Ron @ 6.05.2017 - 20:42)
Нет, не сможет, если занимался исключительно строительством, вместо изучения мировых практик и золотых стандартов.
Ты не прав. Сможет. И это я там и обосновал.
Цитата (Ron @ 7.05.2017 - 08:26)
ООП не занимает абсолютное лидерство среди парадигм?
Занимает, не спорю. Ну и что? Toyota тоже занимает лидирующую позицию по количеству произведенных машин. Однако это не значит, что Ламборджини хуже. Да и моя Volvo сто вперед даст "одноклассникам" от Тойоты. Хотя их совсем немного производится. Популярность еще не признак качества.
Цитата (Ron @ 7.05.2017 - 08:26)
Использование готовых наработок не популярно?
Популярно, о чем речь. Я сам нет-нет, да и да. Но только если это решение действительно подходит. Хотя бы на 90%. Но зачастую это не так, потому что у "готовых наработок" очень часто встречается болезнь "бесконечное улучшение". А это порочная практика, потому что когда вроде все хорошо, улучшать больше некуда, начинается выдумывание проблем и их героическое решение. Как в примере со Смарти. Наворотили бог весть чего, теперь не поймешь, шаблонизатор это, или язык программирования. Ну и DIP естественно. Часто либы не подходят по "идейным" соображениям. Ну не встают ровно. А подгонять абстракцию под детали, это ли не антипаттерн? smile.gif

Цитата (Ron @ 7.05.2017 - 08:26)
Зачем github придумали? Потому что это мировые бест-практики, которые поддерживает большинство всемирно известных разработчиков
Никакой связи не улавливаю. Что, до композера значит эти бест-практики не использовались? Или на гитхабе только лучшие практики?
Свернутый текст
Там же мой ABC есть... Круто. И очень лестно. smile.gif

Цитата (Ron @ 7.05.2017 - 08:26)
В том числе и Джош Локард со Слимом, от которого не хочешь зависеть.
Мне он вообще побоку, зачем мне от него зависеть. Я говорил, что у него очень много зависимостей.

Однако вот что интересно. Почему то PSR7 они реализовали собственный. Хотя на 100% знали, что есть разработка от автора. Куда еще авторитетнее. Вот тебе и "золотой стандарт". Это велосипед чистой воды.

А я тебе скажу почему, так как я досконально изучил обе реализации. Потому что у них немного разная специфика. И здесь Slim соблюдает DIP из SOLID. Наплевав на твои "золотые стандарты" и антипаттерны. Это для них удобнее и оптимальнее, чем костылять над готовым решением от O'Phinney. Это одна из основных функциональностей фреймворка, тут прикостыливать чужие решения себе дороже.

Я вот тоже сделал свой, который удобен мне. И не потому, что считаю себя умнее их обоих. А потому, что сделал с учетом своей специфики. Немного изменив архитектуру, взяв из этих двух все самое лучшее, и добавив своего. И этим горд, и доволен как слон. smile.gif Плюс профитом то, что я теперь досконально знаю этот предмет. Изнутри, до каждого метода PSR-интерфейсов.

А ты продолжай в своем духе: проксирование, декорирование, адаптеры и прочие костыли.

Только не смущай молодежь. Велосипеды, это хорошо. Вон выше тебе пример обратной стороны "суровой реальности" - Arh. И таких много. Если у тебя вокруг все так плохо, ну что ж... Сочуствую. Сходи, свечку что ли поставь.

Цитата (Ron @ 7.05.2017 - 08:26)
Эт не моя логика, а история широкого применения парадигм.
История не стоит на месте. Посмотри на тот же PHP. Да, от версии к версии ООП в нем улучшалось, спору нет. Однако и инструменты для ФП тоже развиваются. Тип callable, замыкания, функтор, анонимные функции и так далее, это все прерогатива функциональщиков. Я не говорю уже про другие ЯП, допустим чисто функциональный Haskell или Lisp. Там твоим ООП и не пахнет, однако на них пишут такие мэтры, как Хаскел Кaрри (основатель), Пейтон Джонс, Филип Вадлер и другие, которых ты не сможешь упрекнуть, что они не ровня Бобу Мартину.

Цитата (Ron @ 7.05.2017 - 08:26)
По-моему, к великим людям относишься как к ровне, что, мягко говоря, абсолютно не соотвтствует действительности.
Причем тут я? Просто у нас разные кумиры. И мои кумиры, мягко скажем, не совсем разделяют точку зрения твоих. Но я же не говорю, что это "золотой дождь стандарт". Я говорю - это альтернативный подход. Который тоже имеет право на жизнь, и часто приносит гораздо больший профит. Не всегда, согласен. Если вокруг "суровая действительность", придется прогибаться. Но я твердо убежден, что человек сам хозяин своей судьбы, и не стоит так низко ценить себя. Хотя зависит от характера. Если тебе по жизни удобно быть ведомым, конечно лидерство и самостоятельные решения будет для тебя плохой практикой. Тогда это оправдано.

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

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

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

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

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