Size: a a a

Software Design/Architecture/Zen

2021 June 15

O

Olég in Software Design/Architecture/Zen
минуту назад ее советовал разработчику )
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Добрый день!

Приложение разбито на вот такие слои:

Api
Application
Domain
Infrastructure

В домене у сущностей ID идёт как объект, например, ArticleId.

В Application-слое есть команды, например $changeArticleName->run($id, $newName);

$id, которое передаётся в application слой должно быть ArticleId или можно передавать строку, а в ArticleId уже application-слой сам преобразует внутри?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
как хочешь, как удобнее, пофигу.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
обычно такие преобразования достаточно удобно делать "на подходе" к application сервисам что бы внутри было четко и понятно кто от чего зависит.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
условно говоря - если есть возможность преобразования данных "изолировать" где-то лучше так делать. И не важно чем там у тебя какие слои - важно взаимодействие элементов и потоки данных
источник

SP

Sergey Protko in Software Design/Architecture/Zen
слои все ж только горизонтально режут. это "удобное упрощение" но важнее вертикальные границы
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
У меня получается в API прилетают скаляры (строки в основном), API вызывает одну (пока не требовалось больше) команду из Application-слоя. Выходит что удобнее в команду Application-слоя передавать строку, а сразу после входа - преобразовывать её в объект и дальше только его использовать.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну мне удобнее преобразовывать когда я команды собираю
источник

SP

Sergey Protko in Software Design/Architecture/Zen
вообще не все айдишки у меня достойны того что бы не было просто скаляром)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
обычно это хороший повод показать что "а вот эта айдишка сущности - она существует сама по себе и объединяет несколько агрегатов".
источник

СП

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

SP

Sergey Protko in Software Design/Architecture/Zen
ну мне так удобно, зачем размазывать эти преобразование повсюду
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Понял. Спасибо :)
источник

ST

Serguei Tarassov in Software Design/Architecture/Zen
Или почитать про другие архитектуры?
источник

O

Olég in Software Design/Architecture/Zen
Обязательно почитаем, спасибо,  за такой прекрасный совет! Сразу видна рука принсипал сеньор лид чиф архитектора L8, нам бы такого хоть одного в компанию, эх!
источник

ST

Serguei Tarassov in Software Design/Architecture/Zen
Странная ирония. Задача проектировщика - поиск простоты решения при заданных условиях. Чем больше вариантов рассматривается, тем больше вероятность найти.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это если ты чет новое делаешь, когда гринфилд
источник

ST

Serguei Tarassov in Software Design/Architecture/Zen
или старое, но с другими условиями
источник

O

Olég in Software Design/Architecture/Zen
Нормальная ирония. Ввязываться в холивар с вами или с человеком, которому я изначально отвечал, было бы по-меньшей мере потерей времени. До каждого джуна, который пришел и "требует перемен", бизнесу дела нет, а задачи проектировщиков - поддерживать архитектуру и обновлять там, где становится узко. Чем они, собсн, в данный момент и занимаются.
Вопрос был про поверхностное введение в микросервисы для программиста, который уже читал макконела, фаулера и мартина, а не стоит ли нам потратить  пару иллионов на переезд с микросервисов на "другие архитектуры".
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Я бы точно не пошёл работать в такую компанию))
источник