bestxp
13.04.2016 - 13:35
Скажу честно я первый раз согласен сегодня с Twin =) практически во всех его комментариях в этом топике
Цитата (twin @ 13.04.2016 - 13:04) |
Потому что твой контейнер один прет против общих правил. А он в паблике, так, на секундочку. |
Я не думал, что есть люди с таким явным выраженым синдромом утёнка. Это я про тебя, twin.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (bestxp @ 13.04.2016 - 13:35) |
Скажу честно я первый раз согласен сегодня с Twin =) практически во всех его комментариях в этом топике |
Ну ок, конечно странно это слышать от человека, который работает с Silex, в котором большинство зависимостей описаны как shared
https://github.com/silexphp/Silex/search?ut...re%28&type=CodeПочти все аргументы твина сводятся - "это работает не так как Pimple! это работает не так как я ожидаю!". Я уже ответил, что мне до таких комментариев, повторюсь, мне посрать на них. Здравую критику, аля плохо клонировать объекты я с удовольствием принимаю. Также Oyeme некоторые вещи показал. Ну и конечно Ron всё таки подтолкнул меня к мысли, что доки с хорошими примерами не помещают.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
bestxp
13.04.2016 - 16:02
Цитата (chee @ 13.04.2016 - 14:19) |
Цитата (bestxp @ 13.04.2016 - 13:35) | Скажу честно я первый раз согласен сегодня с Twin =) практически во всех его комментариях в этом топике |
Ну ок, конечно странно это слышать от человека, который работает с Silex, в котором большинство зависимостей описаны как shared https://github.com/silexphp/Silex/search?ut...re%28&type=CodeПочти все аргументы твина сводятся - "это работает не так как Pimple! это работает не так как я ожидаю!". Я уже ответил, что мне до таких комментариев, повторюсь, мне посрать на них. Здравую критику, аля плохо клонировать объекты я с удовольствием принимаю. Также Oyeme некоторые вещи показал. Ну и конечно Ron всё таки подтолкнул меня к мысли, что доки с хорошими примерами не помещают. |
Шта?
Окей зависимости Silex явно описываються Shared потому что некоторые из них нужны именно в единичном числе и они всегда будут возвращаться shared независимо от галочки, что не скажешь у тебя с звездочкой или без, как в начале определил так оно и работает, и никак иначе, потому и согласен с Twin что у тебя явно прозрачности нет и ты иначально заставляешь всех юзать shared не давая альтернативу без костылей
Цитата (bestxp @ 13.04.2016 - 16:02) |
Окей зависимости Silex явно описываються Shraded потому что некоторые из них нужны именно в единичном числе и они всегда будут возвращаться shared независимо от галочки, что не скажешь у тебя с звездочкой или без, как в начале определил так оно и работает, и никак иначе |
Всё предельно понятно, запрашиваешь со звёздочкой, получаешь всегда новый настроеный объект. Запрашиваешь без звёздочки, получаешь существующий с сохранением сохранения состояния в контейнер. Это не чем не отличается от методов get() и share(), который предлагал реализовать Twin.
Но давай, поговорим отчуждено. Чем плохо, что сам клиенский код решает какой ему объект нужен? Тем что клиенский код начинает решать слишком много? Окей, согласен. Но обычно такой код инкапсулирован в фабрики, так что это не становится такой уж проблемой. Какие ещё проблемы это вызывает?
Цитата (bestxp @ 13.04.2016 - 16:02) |
ты иначально заставляешь всех юзать shared не давая альтернативу без костылей
|
Потому что в основном нужно внедрять зависимости которые являются shared, а не not shared. И судя по всему ты об этом знаешь.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 13.04.2016 - 09:40) |
Я не думал, что есть люди с таким явным выраженым синдромом утёнка. Это я про тебя, twin. |
Не благодарный
Да если бы не я, ты бы сейчас и клонировал свои синглтоны до сих пор.
Цитата (chee @ 13.04.2016 - 10:19) |
Silex, в котором большинство зависимостей описаны как shared |
Ты не путай палец с жопой. Внутри фреймворка можно все что угодно сделать. Ты же пользователям даешь его. Да еще и в паблик выпер. А дефолтный принцип инициализации объекта, это вовсе не синглтон. И пимпл тут не причем. Просто это логично.
Ты пытаешься доказать, что нормальное состояние твоих штанов - снятое. И тебе наплевать, что люди говорят: у тебя жопа голая!
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 13.04.2016 - 16:36) |
Да если бы не я, ты бы сейчас и клонировал свои синглтоны до сих пор. |
вообще то, если бы не bestxp
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 13.04.2016 - 12:43) |
вообще то, если бы не bestxp |
Если бы я этот вопрос не задал, никто бы и не заметил бы твоего казуса. Из-за него все поехало. А про клонирование
я на несколько минут опаздал, потому что код писал. Так что никуда бы ты не делся, голубчик.
Неблагодарный
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
twin, эм, ты наверное не понял зачем я сделал not shared объекты. bestxp заметил, что клонирование не всегда может оставить состояние пригодным для использования, поэтому безрассудно полагаться слепо на клонирование. Твои замечания про изменение состояний в описаных зависимостях мне были известны давно и для меня это не является проблемой.
Но вернемся, как бы ты не хотел, но моя система нуждается not shared зависимостях, раньше я их создавал через клонирование - делая это в клиентском коде, сейчас я их создаю через контейнер и делаю это в клиентском коде.
Твоя заслуга лишь в том, что ты подготовил почву для замечания bestxp.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 13.04.2016 - 12:55) |
bestxp заметил, что клонирование не всегда может оставить состояние пригодным для использования |
Ну и ладно, мне чужих наград не надо.
Все равно я докопался бы.
И докопался в топике про клоаку.
Цитата (chee @ 13.04.2016 - 12:55) |
Твои замечания про изменение состояний в описаных зависимостях мне были известны давно и для меня это не является проблемой. |
Ты просто завуалировал проблему, а не решил её. Повторю - все, что ты делаешь в своем фреймворке - это лично твое дело. Больше скажу, я в своей свистоперделке делал тоже самое, потому что там компоненты чаще нужны в единичном экземпляре. PDO к примеру. Но это для тебя не проблема. Для других может оказаться еще какой.
И это не значит, что дефолтное состояние должно быть shared. Человек хочет новый объект. И он должен получить его из контейнера по умолчанию. Если ему нужен shared, он задействует синглтон. Это общая практика.
Потому что твоё get() это аналог new. Взять объект. Всё. И никакие звездочки тут не при делах. Даже если решать звездочками, то наоборот надо.
А вот share() - ясно и понятно. Расшарить, распределить. Синглтон.
И второе. Звездочку забыть поставить проще, чем перепутать методы. И про неё знать надо и помнить. Это суррогат (хотя ты любишь). И анипаттерн "дефакторинг" имеет место быть.
Цитата |
Процесс уничтожения функциональности и замены её документацией |
Ай как трудно признать неправоту, правда? Тем более, когда она касается концепции всей жизни.
Ты не расстраивайся. Наберись мужества, оно на пользу пойдет твоей свистопукалке. И смотри сколько нового узнал.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Про звездочку еще добавлю. А если имя службы динамически создается?
$container->get('*'. get_class($obj));
Детский сад какой то.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 13.04.2016 - 17:13) |
Ай как трудно признать неправоту, правда? Тем более, когда она касается концепции всей жизни. |
Мне не трудно признаться, что я ошибаюсь, если я действительно неправ. Но здесь дело касается концепции. Решение со звёздочкой - не противоречит концепции и вписалось довольно хорошо. Решение с share и get приводит к поломке всей концепции (проявляется это через усложнение кода), я же проверял.
Цитата (twin @ 13.04.2016 - 17:57) |
$container->get('*'. get_class($obj)); |
что?
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 13.04.2016 - 15:30) |
Но здесь дело касается концепции. |
Так в том вся и фишка, что концепция кривая. Наизнанку.
Ну тогда я бы на твоем месте убрал бы его из паблика от греха. Хотя дело хозяйское.
Цитата (chee @ 13.04.2016 - 15:30) |
что? |
Да нет, ничего. Проехали.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 13.04.2016 - 19:40) |
Ну тогда я бы на твоем месте убрал бы его из паблика от греха. Хотя дело хозяйское. |
https://www.youtube.com/watch?v=ixhQ7ynKaZ4
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Небольшой оффтопик. Но по теме. А как ты конструкторы запретил в своей системе? Просто задекларировал или механизм есть?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.