
Bohdan
10.07.2018
10:11:08
третья сущность - например?

Sergey
10.07.2018
10:11:38
если на примере убера делать - где есть расположение пользователя и водителя я бы это как две разные штуки бы делал просто

Anton
10.07.2018
10:12:10
В качестве наброса: команда - часть домена

Google

Sergey
10.07.2018
10:12:16
ну вообще так и есть
потому команды можно прокидывать в сущности)

Anton
10.07.2018
10:12:53

Bohdan
10.07.2018
10:14:03

Anton
10.07.2018
10:16:11
Как коробить перестанет, выясни является ли твое DTO частью команды, и тогда ответ на твой вопрос будет очевиден

Bohdan
10.07.2018
10:16:52
фактически да, в дто вынес во избежание дублирования (в других командах в том числе)
пока еще вот такой вариант в голове крутится: приватный метод update, принимающий nullable аргументы для всех полей класса (если аргумент null - не обновляем его), и несколько методов updateFrom(....), принимающих дто/команду
выглядит не очень хорошо с точки зрения srp
с другой стороны - достаточно гибко + изолированный круд (иногда, к сожалению, круда не избежать)

Sergey
10.07.2018
11:46:17

Aleh
10.07.2018
11:46:36

Bohdan
10.07.2018
11:47:24
я скорее про "круд vs поведение"
и про то, что я не могу, как недавно Сергей расписывал, делать отдельно метод вроде "deactivate"
в данном случае я хочу убрать сеттеры
ну и плеваться ивентом после обновления, но это вторично

F01134H
10.07.2018
11:54:49
Парни, крч есть стратегия. Стратегия юзает гейтвей для доступа к апи внешнего сервиса. Все это клево работает через DI (гейтвей инжектится в стратегию, у каждой стратегии по гейтвею) и маппинг зависимостей через сервис контейнер. Но появился еще один гейтвей, который имплементит дополнительный функционал через сторонний внешний сервис. И у каждой стратегии такой гейтвей может как быть, так и нет. Хочется оставить зависимость стратегия->гейтвей унифицированной для каждой стратегии, как мне тогда инжектить дополнительный гейтвей?
при этом если этот дополнительный гейтвей есть, то он разный для каждой стратегии

Google

F01134H
10.07.2018
11:56:26
т.е. имеем следующее: у каждой стратегии гарантированно есть один гейтвей и негарантированно есть дополнительный гейтвей
и на каком уровне внедрять этот дополнительный гейтвей непонятно - на уровне сервис локатора, либо просто в конструкторе стратегии делать additionalGateway = new Gateway

Sergey
10.07.2018
12:00:39

F01134H
10.07.2018
12:00:45
из фреймворка)

Sergey
10.07.2018
12:00:50
у тебя ж DI
инджекти каждой стратегии те гейтвеи и столько сколько надо

F01134H
10.07.2018
12:01:01
ну да, DI + SL
4, 5

Sergey
10.07.2018
12:01:25
ну будет 3,4 5 гейтвеев

F01134H
10.07.2018
12:01:51
ну... Ладно)

Sergey
10.07.2018
12:01:59
а еще будет намек что чето пошло не так ибо твои стратегии стали делать явно больше чем надо ну либо им так надо

F01134H
10.07.2018
12:02:01
нечего возразить, потому что неясно, как правильно

Sergey
10.07.2018
12:02:14
ну я хз почему у тебя вообще 2 гейтвея появилось
либо не все из них юзается в пределах стратегии (и тога накой инджектить то что не юзается) либо ты зря разделил либо стратегии твои не совсем стратегии
хер знает короч
смотри просто как юзаются методы, все ли юзаются и нужны ли эти зависимости где-то еще.

F01134H
10.07.2018
12:04:03
не, стратегии именно что стратегии, 2 гейтвей появился, потому что нужен доступ к функционалу стороннего сервиса. Типо был сначала гейтвей для одного АПИ, но решили некоторый функционал брать из другого АПИ (итоговая роль стратегии не поменялась при этом)
в общем декомпозировали доступ к внешнему сервису на 2 апишки разных, в угоду более простой имплементации функционала

Sergey
10.07.2018
12:05:31

Google

Sergey
10.07.2018
12:05:55
будет 4 гейтвея - тоже самое, может быть что-то можно перераспределить

F01134H
10.07.2018
12:06:15
Хмм. Фасад может подойти кстати
Спасибо Сергей
но дабы не нарушать yagni - я сделаю для начала в стратегии это, она будет в роли фасада выступать заодно
излишняя абстракция ведь зло

Aleh
11.07.2018
10:06:15
https://segment.com/blog/goodbye-microservices/

Sergey
11.07.2018
10:23:31
или типа надо почитать а не делать выводы по заголовкам
Мне кажется что в статье происходит подмена понятий

Bohdan
11.07.2018
10:30:26
ну на половине непонятно, к чему они ведут
рассказывают про путь своих фейлов

Sergey
11.07.2018
10:31:35
Микросервис != deployment target

Bohdan
11.07.2018
10:31:54
угу, rules engines вспоминается

Sergey
11.07.2018
10:31:54
А у нее монолит это когда монореп
Не мысль посыл статьи верный, меня терминологический пиздец бесит

Bohdan
11.07.2018
10:35:35
ну вот кусок про тесты странный
логично, что с прямыми запросами к каждому эндпоинту партнера тесты будут ползать долго
и как бы делать снепшоты трафика... а обновлять их кто будет?
главный посыл имхо - "подумайте, прежде чем делить все"
ну и вот этот пункт закрывается тестами
> Updating the version of a dependency may break multiple destinations

Denis
12.07.2018
08:50:52

Google

Sergey
12.07.2018
10:23:35
я не увидел ничего про микросервисы

Bohdan
12.07.2018
10:24:08

Sergey
12.07.2018
10:24:27
ну тип у нас сча похожие проблемы и мы с @mkusher на монореп хотим переползти
в целом не сложно
https://github.com/unravelin/tomono - можно вот такими штуками а уже потом оптимизировать под процессы

F01134H
12.07.2018
10:27:27

Admin
ERROR: S client not available

Sergey
12.07.2018
10:28:06

F01134H
12.07.2018
10:28:14
эмм
вопрос то конкретно к вам, зачем вам монореп
я ж не могу загуглить "зачем Сергею Протько монореп"

Sergey
12.07.2018
10:28:45
потому что с мультирепами нам неудобно
почему - гугли почему вообще люди переходят с мультиреп на монорепы
в целом 80% статьи выше о этих проблемах
но если коротко - общая инфраструктура

Bohdan
12.07.2018
10:38:10
сколько у вас реп сейчас?

Sergey
12.07.2018
12:02:42

Дмитрий
12.07.2018
12:04:01
Омг, жоско
Я просто даже до такого не переходил, сразу перешёл к монорепе, пару месяцев назад описывал тут как то свой опыт)

Google

Дмитрий
12.07.2018
12:05:27
С монорепами довольно много своих проблем, но это однозначно лучше чем 9 реп ?

?
12.07.2018
12:07:19

F01134H
12.07.2018
12:08:07
нет
я вообще работаю

Aleh
13.07.2018
09:48:22
https://mail.python.org/pipermail/python-committers/2018-July/005664.html
Новость для пятницы 13

Bohdan
13.07.2018
09:51:09
вчера в питоночате уже обсудили
хотя больше обсуждали пеп, который стал причиной
имхо - без BDFL будет намного хаоса, а потом все станет ок

Aleh
13.07.2018
09:53:34
Да pep вроде нормальный

Bohdan
13.07.2018
09:53:51
ну многие не оценили

Aleh
13.07.2018
09:54:07
Вообще интересно как организуется сообщество питонщиков

Denis
13.07.2018
09:54:15
https://wiki.python.org/moin/AlternateLambdaSyntax
If Guido doesn't like it, it ain't gonna happen!
просто показатель

Bohdan
13.07.2018
09:55:10

Denis
13.07.2018
09:55:20
ну вот и славненько)

Aleh
13.07.2018
09:55:34
Так ну это и интересно)