@prophp7

Страница 1138 из 1387
Dmitry
29.06.2018
08:13:20
Почему? Ведь фактически это учет сущности Новость по разным параметрам? Т.е. у меня есть класс NewsLogger, который будет инжектить 6 gateway'ув. Есть метод log(Visitor $visitor, NewsPost $post). В этом методе я уже прогоняю по всем gateway'ем?

Google
Dmitry
29.06.2018
08:14:06
Есть ощущение, поэтому и спрашиваю более правильные варианты

Sergey
29.06.2018
08:14:09
ты как минимум не новости логаешь а просмотры новостей. к самой новости это косвенно относится и может быть вынесено на уровень выше (декоратором)

но мне надо понимать что там у тебя за 6 сущностей в которые ты пишешь в рамках одной операции и что это за операция. Это просмотр новости и тебе надо трекать статистику?

Dmitry
29.06.2018
08:16:13
статистику, затраты, агрегированная статистика ... Присутствует много дубликации на уровне схемы данных, но тут изменения маловероятны

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

Sergey
29.06.2018
08:20:01
"затраты" на что?

Dmitry
29.06.2018
08:20:17
за переход на новость

Sergey
29.06.2018
08:20:27
не сильно понятнее

и все еще непонятно почему ты должен это одним классом делать

Dmitry
29.06.2018
08:22:13
закупка трафика, по utm - меткам могу определить откуда посетитель пришел. Т.е. таким образом можем оценить затраты

Sergey
29.06.2018
08:22:29
понял

главное этот кусок г изолировать, в одном классе или в нескольких - как тебе удобно

Google
Sergey
29.06.2018
08:24:13
я короч так и не понял в чем трабл. Это ж не сущности, не совсем сущности. Это агрегации метрик

можно это красиво декорацией разрулить

можно забить...

не те масштабы проблем как по мне

Dmitry
29.06.2018
08:25:19
о чем и речь, получаю класс NewsLogger, который фактически изолирован и если случится абзац с треком всего и вся - знаю где искать и править.... Ок, на счет забить, ибо сроки поджимают :)

А это вообще нормально - существование таких классов агрегаторов?

Sergey
29.06.2018
08:26:50
да

но похеру

Dmitry
29.06.2018
08:27:28
В голове еще есть мысль такая: при просмотре генерить события, а уже подписчики будут писать метрики

Dmitry
29.06.2018
08:35:53
я бы так и делал
это видимо самое правильное решение, ибо так все равно получится быстрее (для реализации событий прикрутил RabbitMQ) для пользователя

F01134H
29.06.2018
11:45:13
норм ли делать такую тему: NodeValidator::valid($response->getBody()) т.е. void метод, который только и делает что исключения кидает?

Dmitry
29.06.2018
11:49:04
Тебе конкретно не нравятся исключения?

F01134H
29.06.2018
11:49:18
почему?

наоборот я делаю метод, который только их и кидает

Dmitry
29.06.2018
11:50:04
вроде тема с киданием исключения или возвратом bool из валидатора уже здесь обсасывалась. Решение - на твое усмотрение

F01134H
29.06.2018
11:50:32
окей, сенкс

Maksim
29.06.2018
11:51:07
вкусовщина. идеологически правильнее коллекцию факапов держать. Но не всегда есть смысл, поэтому исключения тоже сгодятся)

Dmitry
29.06.2018
11:51:57
Мне лично нравится получать bool от валидатора. Структурное прошлое и настоящее не отпускает

Google
F01134H
29.06.2018
11:52:02
это потом просто можно будет отрефакторить, т.к. эти валидаторы только в одном месте дергаются

Oleg
29.06.2018
14:05:24
Друзья, подскжите плз, имеет ли смысл делать для ORM Eloquent Laravel, которая Active Record репозитории?!

насколько это оправдано!?

F01134H
29.06.2018
14:14:25
????!!!!!!

Оправдано ровно настолько, насколько ты сам оправдаешь

Dmitry
29.06.2018
14:30:52
AR- это уже репозиторий

Oleg
29.06.2018
14:32:22
так отож, тем более репозитория в том виде, в котором он юзатся в доктрине мы не получим. И выходит изврат, имхо.

Artem
29.06.2018
14:33:14
AR- это уже репозиторий
По идее же в репозитории не может быть бизнес логики, а в AR она как раз должна быть, не?

Oleg
29.06.2018
14:33:15
похоже на попытку скрестить ежа с ужом

Oleg
29.06.2018
14:34:13
ну зачем бизнес логику в AR пихать)

Sergey
29.06.2018
14:34:39
ну зачем бизнес логику в AR пихать)
потому что это определение AR

Друзья, подскжите плз, имеет ли смысл делать для ORM Eloquent Laravel, которая Active Record репозитории?!
смысла делать репозитории нет - но иногда есть смысл делать отдельную прослойку которая хранит запросы.

Oleg
29.06.2018
14:35:58
Спасибо, Сергей. А можно уточнить. Иногда - это когда?!

Sergey
29.06.2018
14:35:59
в целом если у тебя есть проблема с тем что бы грузить все в модельки AR - то либо ты выбрал не тот способ работы с данными (можно смотреть в сторону row data gateway или там другие штуки типа того же дата мэппера) либо ты выбрал не тот язык (в ruby таких проблем нет ибо все можно скомпоновать сверху)

Спасибо, Сергей. А можно уточнить. Иногда - это когда?!
когда хочется реюзнуть запросы и не хочется делать статический метод у модельки) редко короч

а все эти ко-ко-ко про SRP - репозиторий не поможет соблюсти SOLID

с тестируемостью репозитории в случае AR тоже не сильно помогут

Google
Oleg
29.06.2018
14:37:07
угу

Sergey
29.06.2018
14:37:34
потому решил обмазаться штукой которая изначально задумывалась для простых проектов с минимальным количеством бизнес логики - ты должен понимать ограничения подхода

тут так де как использование дата мэппера не всегда оправдано (правда тут больше минусов только если у тебя нет готового мэппера который можно просто заюзать)

p.s. нормального мэппера в php по сути нет, доктрина говно и лучше ничего нет

Dmitry
29.06.2018
14:38:40
Oleg
29.06.2018
14:39:04
так только одна доктрина и усё ((

Admin
ERROR: S client not available

Dmitry
29.06.2018
14:39:24
так только одна доктрина и усё ((
у нее тоже проблем дофига

Sergey
29.06.2018
14:39:25
но до доктрины им далеко

у нее тоже проблем дофига
доктрина это попытка сделать много всего на скороую руку. Оно как бы работает но.... если ты хочешь делать красиво она будет мешать.

Oleg
29.06.2018
14:39:55
кароч, куда ни глянь, кругом жопа )

Sergey
29.06.2018
14:40:01
с другой стороны делать красиво просто так глупо)

Igor
29.06.2018
14:40:28
ищи компромисы
куда потыкаться?

Oleg
29.06.2018
14:40:48
благодарю всех за ответы

Igor
29.06.2018
14:40:53
Ну т.е. ты такой говоришь.. ищи компромисы... а по факту Elq + Doctrine все что знают и используют пока

Если есть необходимость в большой комманде

Sergey
29.06.2018
14:41:04
куда потыкаться?
ну опять же, что кроме дата мэппера и AR ты знаешь? какие СУБД ты тыкал кроме реляционных?

Google
Sergey
29.06.2018
14:41:53
нужна ли тебе ORM с документноориентированной базой или колончатой той же?

Igor
29.06.2018
14:41:54
не стоит оринетироваться на стадо
Согласен. Но вопрос повторюсь - скорости поддержки и развития проекта на больших коммандах

Sergey
29.06.2018
14:42:00
или там чуть другие подходы к моделированию?

Igor
29.06.2018
14:42:14
Просто для именно хранения и моделирования сущностей все-таки вопрос

Sergey
29.06.2018
14:42:33
Согласен. Но вопрос повторюсь - скорости поддержки и развития проекта на больших коммандах
я не уверен что нахерачить на ларавель + элоквент + mysql что-то сложнее бложика это всегда будет дешевле чем выбрать инструменты под задачу

Igor
29.06.2018
14:43:08
Igor
29.06.2018
14:43:48
и что тут по другому?
Я к тому, что вот у тебя комманда в 15 человек хотя бы

Igor
29.06.2018
14:43:59
Выбирать интрументы ок. Изобретать фигово

сразу?
В пределах 2 месяцев

Sergey
29.06.2018
14:44:09
Artem
29.06.2018
14:44:20
https://vaughnvernon.co/?p=942
кстати, ты читал книжку Vaughn Vernon - Implementing Domain-Driven Design ?

Igor
29.06.2018
14:44:30
а все уже изобретено
Угу. Но ряд изобретений да, заебись. Но знают единицы

Sergey
29.06.2018
14:44:34
кстати, ты читал книжку Vaughn Vernon - Implementing Domain-Driven Design ?
нет, видосики его смотрел только. на книгу не хватило.

Угу. Но ряд изобретений да, заебись. Но знают единицы
ты все же конкретизируй проблему - зачем тебе элоквент или доктрина?

Страница 1138 из 1387