[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PDIC - Property Dependency Injection Container
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
bestxp
Скажу честно я первый раз согласен сегодня с Twin =) практически во всех его комментариях в этом топике
chee
Цитата (twin @ 13.04.2016 - 13:04)
Потому что твой контейнер один прет против общих правил. А он в паблике, так, на секундочку.

Я не думал, что есть люди с таким явным выраженым синдромом утёнка. Это я про тебя, twin.


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Цитата (bestxp @ 13.04.2016 - 13:35)
Скажу честно я первый раз согласен сегодня с Twin =) практически во всех его комментариях в этом топике

Ну ок, конечно странно это слышать от человека, который работает с Silex, в котором большинство зависимостей описаны как shared https://github.com/silexphp/Silex/search?ut...re%28&type=Code

Почти все аргументы твина сводятся - "это работает не так как Pimple! это работает не так как я ожидаю!". Я уже ответил, что мне до таких комментариев, повторюсь, мне посрать на них. Здравую критику, аля плохо клонировать объекты я с удовольствием принимаю. Также Oyeme некоторые вещи показал. Ну и конечно Ron всё таки подтолкнул меня к мысли, что доки с хорошими примерами не помещают.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
bestxp
Цитата (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 не давая альтернативу без костылей
chee
Цитата (bestxp @ 13.04.2016 - 16:02)
Окей зависимости Silex явно описываються Shraded потому что некоторые из них нужны именно в единичном числе и они всегда будут возвращаться shared независимо от галочки, что не скажешь у тебя с звездочкой или без, как в начале определил так оно и работает, и никак иначе

Всё предельно понятно, запрашиваешь со звёздочкой, получаешь всегда новый настроеный объект. Запрашиваешь без звёздочки, получаешь существующий с сохранением сохранения состояния в контейнер. Это не чем не отличается от методов get() и share(), который предлагал реализовать Twin.

Но давай, поговорим отчуждено. Чем плохо, что сам клиенский код решает какой ему объект нужен? Тем что клиенский код начинает решать слишком много? Окей, согласен. Но обычно такой код инкапсулирован в фабрики, так что это не становится такой уж проблемой. Какие ещё проблемы это вызывает?

Цитата (bestxp @ 13.04.2016 - 16:02)
ты иначально заставляешь всех юзать shared не давая альтернативу без костылей

Потому что в основном нужно внедрять зависимости которые являются shared, а не not shared. И судя по всему ты об этом знаешь.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 13.04.2016 - 09:40)
Я не думал, что есть люди с таким явным выраженым синдромом утёнка. Это я про тебя, twin.

Не благодарный biggrin.gif Да если бы не я, ты бы сейчас и клонировал свои синглтоны до сих пор.

Цитата (chee @ 13.04.2016 - 10:19)
Silex, в котором большинство зависимостей описаны как shared

Ты не путай палец с жопой. Внутри фреймворка можно все что угодно сделать. Ты же пользователям даешь его. Да еще и в паблик выпер. А дефолтный принцип инициализации объекта, это вовсе не синглтон. И пимпл тут не причем. Просто это логично.

Ты пытаешься доказать, что нормальное состояние твоих штанов - снятое. И тебе наплевать, что люди говорят: у тебя жопа голая!

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

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

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

user posted image
chee
Цитата (twin @ 13.04.2016 - 16:36)
Да если бы не я, ты бы сейчас и клонировал свои синглтоны до сих пор.

вообще то, если бы не bestxp

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 13.04.2016 - 12:43)
вообще то, если бы не bestxp

Если бы я этот вопрос не задал, никто бы и не заметил бы твоего казуса. Из-за него все поехало. А про клонирование я на несколько минут опаздал, потому что код писал. Так что никуда бы ты не делся, голубчик. biggrin.gif Неблагодарный sad.gif

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

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

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

user posted image
chee
twin, эм, ты наверное не понял зачем я сделал not shared объекты. bestxp заметил, что клонирование не всегда может оставить состояние пригодным для использования, поэтому безрассудно полагаться слепо на клонирование. Твои замечания про изменение состояний в описаных зависимостях мне были известны давно и для меня это не является проблемой.

Но вернемся, как бы ты не хотел, но моя система нуждается not shared зависимостях, раньше я их создавал через клонирование - делая это в клиентском коде, сейчас я их создаю через контейнер и делаю это в клиентском коде.

Твоя заслуга лишь в том, что ты подготовил почву для замечания bestxp.


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 13.04.2016 - 12:55)
bestxp заметил, что клонирование не всегда может оставить состояние пригодным для использования
Ну и ладно, мне чужих наград не надо. biggrin.gif
Все равно я докопался бы. И докопался в топике про клоаку.

Цитата (chee @ 13.04.2016 - 12:55)
Твои замечания про изменение состояний в описаных зависимостях мне были известны давно и для меня это не является проблемой.

Ты просто завуалировал проблему, а не решил её. Повторю - все, что ты делаешь в своем фреймворке - это лично твое дело. Больше скажу, я в своей свистоперделке делал тоже самое, потому что там компоненты чаще нужны в единичном экземпляре. PDO к примеру. Но это для тебя не проблема. Для других может оказаться еще какой.

И это не значит, что дефолтное состояние должно быть shared. Человек хочет новый объект. И он должен получить его из контейнера по умолчанию. Если ему нужен shared, он задействует синглтон. Это общая практика.

Потому что твоё get() это аналог new. Взять объект. Всё. И никакие звездочки тут не при делах. Даже если решать звездочками, то наоборот надо.
А вот share() - ясно и понятно. Расшарить, распределить. Синглтон.

И второе. Звездочку забыть поставить проще, чем перепутать методы. И про неё знать надо и помнить. Это суррогат (хотя ты любишь). И анипаттерн "дефакторинг" имеет место быть.
Цитата
Процесс уничтожения функциональности и замены её документацией


Свернутый текст
Ай как трудно признать неправоту, правда? Тем более, когда она касается концепции всей жизни. biggrin.gif Ты не расстраивайся. Наберись мужества, оно на пользу пойдет твоей свистопукалке. И смотри сколько нового узнал. smile.gif


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

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

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

user posted image
twin
Про звездочку еще добавлю. А если имя службы динамически создается?
    $container->get('*'. get_class($obj));
Детский сад какой то.

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

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

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

user posted image
chee
Цитата (twin @ 13.04.2016 - 17:13)
Ай как трудно признать неправоту, правда? Тем более, когда она касается концепции всей жизни.

Мне не трудно признаться, что я ошибаюсь, если я действительно неправ. Но здесь дело касается концепции. Решение со звёздочкой - не противоречит концепции и вписалось довольно хорошо. Решение с share и get приводит к поломке всей концепции (проявляется это через усложнение кода), я же проверял.
Цитата (twin @ 13.04.2016 - 17:57)
$container->get('*'. get_class($obj));

что?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 13.04.2016 - 15:30)
Но здесь дело касается концепции.

Так в том вся и фишка, что концепция кривая. Наизнанку.
Ну тогда я бы на твоем месте убрал бы его из паблика от греха. Хотя дело хозяйское.
Цитата (chee @ 13.04.2016 - 15:30)
что?

Да нет, ничего. Проехали.

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

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

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

user posted image
chee
Цитата (twin @ 13.04.2016 - 19:40)
Ну тогда я бы на твоем месте убрал бы его из паблика от греха. Хотя дело хозяйское.

https://www.youtube.com/watch?v=ixhQ7ynKaZ4

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Небольшой оффтопик. Но по теме. А как ты конструкторы запретил в своей системе? Просто задекларировал или механизм есть?

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

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

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

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

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