
Alexey
20.09.2017
21:10:58
Ну например его нужно перенести согласно id созданной сущности, сжать, повернуть и т.д

Anton
20.09.2017
21:11:40
Генерируем id заранее (UUID например) и решаем очень много проблем

Sergey
20.09.2017
21:12:16

Anton
20.09.2017
21:12:27
Для сущностей тоже

Google

Sergey
20.09.2017
21:12:39
но не сильвер булет)
p.s. штуки вроде ресайза и генерации превьюшек я больше люблю налету делать (штуки вроде imaginary)

Anton
20.09.2017
21:13:12
А что в нашем мире сильвер булет? ))

Sergey
20.09.2017
21:13:25

Alexey
20.09.2017
21:13:34

Anton
20.09.2017
21:14:44
Я к тому что нет ни одного метода / паттерна / подхода который был бы "сильвер булет". Всему есть валидные и нет кейсы. UUID в том числе.
Ваш кэп (С) Sergey Protko

Sergey
20.09.2017
21:16:23
Ооо
накину
есть у меня проектик
и в нем есть такая сущность как User
так получилось что юзается эта сущность по всему проекту. И если в двух третях я могу заменить ее например на UserID то... короч что меня смушает

Google

Sergey
20.09.2017
21:17:38
сейчас сущность юзера отвечает за управление профилем, хранит роль пользователя (ее можно прокачивать действиями пользователя) а так же аутентификация (потому что там креды), восстановление доступа и т.д.
я хотел бы вынести аутентификацию и все что связано с доступом в отдельную сущность Credentials
то есть для аутентификации у меня будет агрегат состоять из двух сущностей - Credentials и User.
корнем будут креды. Если мы при логине что-то путное сделаем - сможем юзера попросить прокачать скил.
я пока здраво рассуждаю или не очень?

Anton
20.09.2017
21:19:53
прокачать скил - что это значит?

Sergey
20.09.2017
21:19:53
короч пока для меня загадка - как создать этот агрегат. Я про процесс регистрации

Yan
20.09.2017
21:20:29
А зачем выносить аутентификацию в отдельную сущность? Плодить сущности, относящиеся к одному юзеру как-то не очень, мне кажется

Sergey
20.09.2017
21:20:42
прокачать скил - что это значит?
считай что есть 3 подсистемы куда чел может логиниться, и он будучи челом первого уровня может залогиниться в хрень для челов второго уровня.
более того, всетаки управление кредами не относится ко всему остальном что в юзере, там сейчас явно прослеживается нарушение SRP
ну и да мне уже реально мешает
ну и на других проектах я так делал и мне было удобно. Что меня смущает - процесс регистрации

Yan
20.09.2017
21:22:15

Sergey
20.09.2017
21:22:17
я плохо представляю как мне "зарегать" чувака

Anton
20.09.2017
21:22:26
Имхо, все связанное с аторизацией / аутентификацией должно быть таки в User. А вот "управление профилем", "прокачать скилл" в каком нить Account

Sergey
20.09.2017
21:22:36
Паттерн Фасад
я тоже умею словами кидаться. У меня конкретная задача - разделить большой жирный класс на два поменьше

Anton
20.09.2017
21:22:51
Для регистрации / логина юзаем Saga которая и будет создавать обе сущности

Sergey
20.09.2017
21:22:54

Yan
20.09.2017
21:23:02

Google

Sergey
20.09.2017
21:23:24

Yan
20.09.2017
21:23:32
Но сохранению одной сущности

Anton
20.09.2017
21:24:06

Sergey
20.09.2017
21:24:20
конкретика - есть у пользователей "бэджи" в зависимости от которых они могут логиниться туда или туда. И в зависимости от них по трети системы проверки идут всякие
хотя... блин

Anton
20.09.2017
21:25:16
User т.к. роль оно к аутентификации, нет?

Sergey
20.09.2017
21:25:29
хотя честно сказать Account нужен будет только для перентационного слоя
то есть можно dto собрать из них обоих
ладно, пойду попробую порефакторить

Anton
20.09.2017
21:27:09
Почему повсюду? Как по мне тут четкое деление на:
1. User - авторизация, роли
2. Account - профиль, скилл (уровень, или как там еще)

Sergey
20.09.2017
21:28:06
ну в целом да, так и есть...

Anton
20.09.2017
21:28:06
И да по сути роль у User может быть привязана к скилу у Account. Для этого есть Saga...

Yan
20.09.2017
21:28:17
зачем мне сохранять одну сущность то?)
Чтобы было очевидно для будущих программистов, чтобы обращаться к одной сущности, а не к нескольким, для удобства и компактности, фасад решит твою проблему с разделением класса, не понимаю зачем ты усложняешь

Sergey
20.09.2017
21:28:31

Yan
20.09.2017
21:28:44

Sergey
20.09.2017
21:28:47
проблема у меня простая - слишком жирный класс который изменяют по двум совершенно разным причинам

Google

Sergey
20.09.2017
21:29:16
фасад как правило немного по другому работает. Конкретно то что ты предлагаешь - это адаптер
а фасад призван скрыть сложность, когда у тебя несколько штук "закрываются" интерфейсом так что выглядят как одна простая

Yan
20.09.2017
21:30:41
Тебе надо отделить аутентификацию, отдели в другой класс, но собери фасадом в общем

Sergey
20.09.2017
21:31:46
У тебя разве не в этом проблема?
повторюсь. Если у тебя есть "одна штука" с одним интерфейсом и ты закрываешь ее "другим интерфейсом" - это не фасад, это адаптер.
это разные штуки которые по случайности попали в один класс

Yan
20.09.2017
21:33:08
Ладно, может я тебя не до конца понял, что тебе надо, уже за полночь

Sergey
20.09.2017
21:34:05
да, надо идти кодить
)

Sergei
20.09.2017
21:34:31

Sergey
20.09.2017
21:34:41

Anton
20.09.2017
21:34:55

Sergey
20.09.2017
21:35:15
знаю людей для которых больше DbC подходит например. А еще есть вещи которые через tdd на юнит тестах именно и не сделаешь вовсе.
(тогда в дело вступают atdd, bdd и прочие штуки)

Sergei
20.09.2017
21:35:30
нет
что хорошо тестируется то как правило обладает лучшим дизайном, если допустим на uml что то разобрал и допустил ошибку к примеру, а тесты сопротивляются то значит что то не так

Sergey
20.09.2017
21:35:37
ну и еще есть армия фанатов property based testing
и уж тем более слишком много людей концентрируют внимание именно на составляющей тестов нежели на том как тесты влияют на дизайн кода
https://t.me/tdd_ru

Google

Sergey
20.09.2017
21:36:50
заходи)
а, ты там уже есть...

Sergei
20.09.2017
21:38:05

Vadym
21.09.2017
08:55:23
Всем Привет!

Aleh
21.09.2017
08:57:02
привет)

Санёчек
21.09.2017
08:57:12
привет

Denis
21.09.2017
09:41:15
Привет)

?
21.09.2017
09:44:18
Привет

Dmitriy
21.09.2017
09:46:45
Привет

(;¬_¬)
21.09.2017
09:47:22
шалом

Dmitriy
21.09.2017
09:47:34
Привет

Nadirq
21.09.2017
09:52:22
Привет

Andrii
21.09.2017
09:56:32
Всем привет, какие методы вы используете для проектирования функциональной модели системы?
Может есть у кого интересный материал чтобы почитать по этому поводу?

Евгений
21.09.2017
10:18:51
привет

Sergey
21.09.2017
10:28:05
https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7