Size: a a a

Software Design/Architecture/Zen

2021 July 29

AI

Arthur Irgashev in Software Design/Architecture/Zen
если компонент ссылается на неустойчивую зависимость, то и сам компонент будет неустойчивым. частично это решается введением абстрации этой зависимости. мы получаем устойчивую абстракцию (при грамотном проектировании), и неустойчивую реализацию, к-ая нас не волнует
источник

k

knopkod4v in Software Design/Architecture/Zen
ну а как вы проверяете, что "товар оплачен"? Если вы работаете по постоплате - непонятно. Товар не может быть оплачен в этот момент.
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
нет, это не так :)
не так про зависимости. про абстракции чаще всего так, да
источник

k

knopkod4v in Software Design/Architecture/Zen
не надо проверять - если у тебя есть ивент - это факт
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Да, пожтому и стоит if
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
и курьеру нельзя отдать неоплаченный товар
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
честно ? Написано максимально непонятно
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Ну это мои вырезки из книги) копипастой
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
там наверное более развернуто было
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
а, я думал, что это какая-то статья %)
источник

k

knopkod4v in Software Design/Architecture/Zen
так вот чтобы можно было перенести if в модуль, который отвечает за оплату - можно юзать ивенты.
В модуле оплаты всё оплатилось - кинулся ивент и всё, это факт, проверять не надо. Тогда логика оплаты в модуле оплаты, а логика доставки в модуле доставки 🤔
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Вырезка из чистой архитектуры
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Так я не пойму, как в этой логике сделать так, чтобы нельзя было отдать курьеру неоплаченный товар?
Чтобы в модуле доставки было значение что оплчен или нет которое устанавливается ивентом?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Типа куча флагов которые  устанавливаются по средствам ивентов и событий других модулей?
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
к повышению "уровня абстракции" в приближении к домену, всётк абстрактность разная бывает
источник

k

knopkod4v in Software Design/Architecture/Zen
модуль оплаты подтверждает, что товар оплачен (я не знаю как у тебя бизнес убеждается, что ему оплатят товар, если вы по постоплате работаете)
В модуле доставки нет значения оплачен или нет - в модуль доставки прилетает событие, что товар такой-то оплачен, всё. В модуле доставки запускается процесс доставки
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
а, я щас перечитал в полном контексте, вспомнил, о чём речь
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
зачем повышать абстракцию ближе к домену?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
доставка в ручную тыкается
источник