Size: a a a

2020 June 29

В

Виктор in Yii Framework 3
Dmitriy S
Да, перестанет, но в твоем варианте от этого он работать не станет.
Оба наши варианты не идеальны, это точно :)
источник

NO

Nex Otaku in Yii Framework 3
Виктор
Плюс моего подхода в том, что в работающем приложении реализацию контейнеров не меняют. А вот изначально попытаться совместить разные реализации могут. И тут наличие второго интерфейса спасает.
это почему?)
источник

В

Виктор in Yii Framework 3
Nex Otaku
это почему?)
Не 100%, но таки крайне редко такое происходит)
источник

NO

Nex Otaku in Yii Framework 3
ничего не меняют только в неработающем приложении... в работающем может меняться всë что угодно)
источник

В

Виктор in Yii Framework 3
Какой вариант используем для фикса композитного контейнера? https://github.com/yiisoft/di/pull/134
Анонимный опрос
0%
Добавить второй параметр в `has`
50%
Добавить второй интерфейс и второй публичный метод
50%
Есть вариант получше, сейчас сделаю PR
Проголосовало: 2
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Плюс моего подхода в том, что в работающем приложении реализацию контейнеров не меняют. А вот изначально попытаться совместить разные реализации могут. И тут наличие второго интерфейса спасает.
Усугубляет. Пойми, если твой набор публичных методов не соответствует интерфейсу, то это потенциальная возможность нарушить интерфейс, что приведет к невозможности использовать этот пср вообще в принципе. В моем случае это приведет только к неоднозначности, что тоже не очень хорошо, но прокатит во многих случаях.
источник

В

Виктор in Yii Framework 3
Dmitriy S
Усугубляет. Пойми, если твой набор публичных методов не соответствует интерфейсу, то это потенциальная возможность нарушить интерфейс, что приведет к невозможности использовать этот пср вообще в принципе. В моем случае это приведет только к неоднозначности, что тоже не очень хорошо, но прокатит во многих случаях.
Нене, как раз наоборот. Использование методов, описанных в интерфейсе, с набором параметров, этому интерфейсу не соответствующему, 100% ломает совместимость рано или поздно, и тут без вариантов. Второй же интерфейс можно деть куда угодно, хоть в другом классе реализовать.
источник

В

Виктор in Yii Framework 3
Виктор
Какой вариант используем для фикса композитного контейнера? https://github.com/yiisoft/di/pull/134
Анонимный опрос
0%
Добавить второй параметр в `has`
50%
Добавить второй интерфейс и второй публичный метод
50%
Есть вариант получше, сейчас сделаю PR
Проголосовало: 2
Мне кажется, мы слишком много времени потратили на довольно мелкое изменение. Айда решать что-то)
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Нене, как раз наоборот. Использование методов, описанных в интерфейсе, с набором параметров, этому интерфейсу не соответствующему, 100% ломает совместимость рано или поздно, и тут без вариантов. Второй же интерфейс можно деть куда угодно, хоть в другом классе реализовать.
Второй интерфейс можно только через наследование, делаешь новый интерфейс и айда, тогда все будет ок, только об остальных контейнерах следующих пср можешь забыть)
источник

В

Виктор in Yii Framework 3
Dmitriy S
Второй интерфейс можно только через наследование, делаешь новый интерфейс и айда, тогда все будет ок, только об остальных контейнерах следующих пср можешь забыть)
Причем тут вообще наследование?
источник

В

Виктор in Yii Framework 3
зачем?
источник

NO

Nex Otaku in Yii Framework 3
прочитал, но не понял
источник

В

Виктор in Yii Framework 3
Остальные контейнеры, как и в твоем случае, просто будут некорректно работать в некоторых кейсах с композитным контейнером
источник

NO

Nex Otaku in Yii Framework 3
объясните, почему не проходит тест
источник

NO

Nex Otaku in Yii Framework 3
Виктор
Мне кажется, мы слишком много времени потратили на довольно мелкое изменение. Айда решать что-то)
наоборот, поспешность только вредит. особенно если это ключевой компонент фреймворка)
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Причем тут вообще наследование?
Потому что, если у тебя интерфейса, то ты можешь получить инстанс по одному интерфейсу, а юзать методы второго.
источник

В

Виктор in Yii Framework 3
Dmitriy S
Потому что, если у тебя интерфейса, то ты можешь получить инстанс по одному интерфейсу, а юзать методы второго.
мне кажется, у тебя тут опечатка
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Остальные контейнеры, как и в твоем случае, просто будут некорректно работать в некоторых кейсах с композитным контейнером
Шанс того, что композитный контейнер будет работать некорректно одинаков в обоих случаях.
источник

DS

Dmitriy S in Yii Framework 3
Виктор
мне кажется, у тебя тут опечатка
В чем?
источник

В

Виктор in Yii Framework 3
Dmitriy S
В чем?
Знать бы...
источник