@oop_ru

Страница 451 из 785
Артур Евгеньевич
14.01.2018
09:04:10
а на канале есть конкрусы?

@fes0r @mkusher @f3ath

Google
Evgenii
14.01.2018
09:06:05
Dependency injection наглядно

melancholiac
14.01.2018
09:21:10
@f3ath

Артур Евгеньевич
14.01.2018
09:21:36
@Enleur

?
14.01.2018
09:21:39
@oneerror

Sergey
14.01.2018
09:25:52
Привет, киньте пожалуйста метериал где разбирают почему внедрение зависемостей через сеттеры это хуево
проблема с этим только в том что тебе надо удостовериться что ты все внедрил вовремя. То если если мы говорим об обязательных зависимостях - они должны быть в конструкторе. Но если у тебя есть контейнер зависимостей регулирующий жизненный цикл - то сеттеры сойдут (особенно когда мы говорим о рефакторинге). А так стоит смотреть на контекст.

Maksim
14.01.2018
09:35:06
А кто мешает дёрнуть сей метод потом не прибегая к контейнеру?

Если ещё лучше: Я, как последний мудак, получил сервис из контейнера дёрнул сеттер.

Sergey
14.01.2018
09:44:21
ну дернул, ну и ничего страшного. Минус не в том что ты можешь его дернуть, а в том что интерфейс твоего объекта сложнее чем надо

ну то есть если для использования либки не предполагается дерганье этого сеттера - все в целом хорошо ж

Maksim
14.01.2018
09:49:10
Ну у меня 2 разных адаптера за интерфейсом. Конфигурил например pdo_mysql, засеттил из вне pdo_pgsql. Такое себе щасце

даже при наличии контейнера: какой смысл зависимости передавать акцессорами? какие бонусы это даёт?

Sergey
14.01.2018
09:52:13
кастыли короч

Google
Sergey
14.01.2018
09:52:28
при рефакторинге легаси помогает неслабо

Maksim
14.01.2018
09:52:29
ну блин)

Sergey
14.01.2018
09:52:39
но в конечном итоге они должны быть уничтожены

Maksim
14.01.2018
09:53:53
ну так может быть и прокатит. оставлять их - самоубийство) рано или поздно кто-то в ногу выстрелит

Ihor
14.01.2018
18:00:06
http://sergeyteplyakov.blogspot.ru/2014/11/di-vs-dip-vs-ioc.html?m=1 В этой статье используется понятие "контейнер". Что означает термин?

Like
14.01.2018
18:04:08
http://sergeyteplyakov.blogspot.ru/2014/11/di-vs-dip-vs-ioc.html?m=1 В этой статье используется понятие "контейнер". Что означает термин?
> Подливает масло в огонь рассогласованность использования этих терминов. Так, например, контейнеры иногда называют DI-контейнерами, а иногда IoC-контейнерами. Нет?

Ihor
14.01.2018
18:06:55
Нет ) тогда возникает вопрос, что такое di контейнер итд

Артур Евгеньевич
14.01.2018
18:11:46
Контейнер в данном контексте эт такая херь из которой можно получить сервисы

Мне нравится называть его сервис контейнер

Артур Евгеньевич
14.01.2018
18:12:19
А дальнейшее именование это уже вопрос использования

Maksim
14.01.2018
18:12:56
а контейнер - это такая хрень, которая умеет собрать все зависимости, которые необходимы для какого-либо сервиса.

Артур Евгеньевич
14.01.2018
18:13:08
Точнее если мы дергаем напрямую сервисы из этого контейнера то да

Ihor
14.01.2018
18:33:33
то есть контейнер создаёт экземпляр класса, предавая в конструктор экземпляры классов, которые необходимы?

то что я написал, больше смахивает на фабрику

Sergey
14.01.2018
19:46:50
IoC - принцип, DI - имплементация этого принципа (относительно управления зависимостями)

IoC контейнер - как по мне неверное использование термина IoC, DI-контейнер - непосредственно хрень которая разруливает зависимости

Google
Sergey
14.01.2018
19:48:15
если ты запихнешь контейнер, то, как тебе уже описали - выйдет сервис локатор (причем самая хреновая его форма)

нормальные сервис локаторы обычно ограничивают к чему ты имеешь доступ. В идеале у тебя по локатору на сервис. Тогда большая часть минусов у них исчезает. Офигенно помогает когда тебе достался дикий легаси и впихнуть туда DI не выходит

Maksim
14.01.2018
19:50:16
У тебя отдельная графа страданий про легаси)

Sergey
14.01.2018
19:51:54
нет, просто подчеркнуть что сервис локатор не зло и может быть полезной и даже очень штукой0

но только если эти локаторы нормальные (а не один для всего)

Maksim
14.01.2018
19:54:33
В большинстве случаев сервис локатор - самый тупой реестр, в котором всё свалено.

Если не во всех...

Sergey
14.01.2018
19:56:10
В большинстве случаев сервис локатор - самый тупой реестр, в котором всё свалено.
в большинстве случаев люди делают все через одно место. Но о чем это я?

Maksim
14.01.2018
19:58:09
Просто каким он должен быть, этот идеал? Именно прям отдельный сервис? Есть какой-нить сферический пример, где оно зайдёт?

Sergey
14.01.2018
20:00:55
у фаулера можешь глянуть)

Maksim
14.01.2018
20:02:17
Доберусь домой, гляну) Заодно попытаюсь в голове утрясти ценность этой идеи)

Bohdan
14.01.2018
21:14:41
Доброй ночи, прошу помощи!) Какой патерн лучше реализовать для такой задачи - Нужно сделать интерфейс для вывода информации с разных Api, с разной структурой данных

Aleh
14.01.2018
21:17:29
почему вы решили, что все эти api - одна общая задача?

Bohdan
14.01.2018
21:18:53
Такие условия, система должна быть гибкой для разных Api

Bohdan
14.01.2018
21:19:29
"Нужно сделать интерфейс для вывода информации с разных Api, с разной структурой данных"

Aleh
14.01.2018
21:20:25
если их ничего не объединяет, то под каждый апи делаете отдельную логику и никак ее не объединяете с другой, вам не нужны ни общие интерфейсы, ни что-либо еще

Max
14.01.2018
21:21:09
Google
Max
14.01.2018
21:24:23
ну так все просто - одна абстракция (интерфейс) за которым инкапсулируешь все твои апи и которая будет возвращать один формат, а потом под конкретное апи делаешь реализацию

Bohdan
14.01.2018
21:24:40
Первый мой шаг был - это сделать интерфейс, сделать несколько разных классов для разных API, ну и унаследоваться от интерфейса. Реализовал - заработало.

Max
14.01.2018
21:24:44
и потом через DI уже подкидываешь что нужно

Like
14.01.2018
21:25:39
Max
14.01.2018
21:26:45
?

Like
14.01.2018
21:27:04
Все таки, ты действительно ничего не понимаешь)

Bohdan
14.01.2018
21:27:50
ладно, я понял, пошла травля, спс за ответы

Like
14.01.2018
21:28:18
О какой травле идет речь?

Max
14.01.2018
21:29:18
О какой травле идет речь?
Ты ничего не понимаешь

Like
14.01.2018
21:29:33
Max
14.01.2018
21:29:58
?
Все таки, ты действительно ничего не понимаешь)

F01134H
14.01.2018
21:31:43
По-моему вы оба ничего не понимаете

Roman
14.01.2018
21:32:34
Че то уже я ничего не понимаю

Sergey
14.01.2018
22:14:25
адаптеры обсуждаете?

Like
14.01.2018
22:15:37
Обсуждаем кто ничего не понимает х2

F01134H
14.01.2018
22:16:42
Google
Sergey
14.01.2018
22:17:44
накину немного - тут есть кто использует CI? Ну то есть не тулы а именно саму концепцию с ежедненой (или чаще) интеграцией?

как держать весь жизненный цикл PR в пределах суток? или забить и только с trunk based dev мы получаем настоящий CI?

Страница 451 из 785