Size: a a a

Software Design/Architecture/Zen

2021 May 19

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Между слоями.
Не инпут дто в сервис.
источник

МФ

Максим Федоров... in Software Design/Architecture/Zen
Ну вот контроллеры симфони отдают дто HttpFoundation response — это контракт?
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Думаю что нет
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Поправьте если ошибаюсь
источник

МФ

Максим Федоров... in Software Design/Architecture/Zen
Ну как же — предоставляют чёткий контракт в виде одного типа (и ограниченного списка подтипов) с четким интерфейсом (в рамках абстракции конечно)
источник

DT

Dmitriy Tkachenko 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
Ну так между контроллером и кернелом есть контракт. Если там не вернется Response, будет исключение.
источник

А

Антон in Software Design/Architecture/Zen
Слабый, конечно, контракт, но хотя бы не тот mixed, который принимает кернел сралавеля и кучей ифов пытается определить, что ему вернули.
источник
2021 May 20

A

Aleksandra🌸 in Software Design/Architecture/Zen
Привет!
Компания GlowByte, №1 в России по внедрению BI и Big Data, приглашает всех студентов и выпускников технических вузов на первый онлайн-марафон Data People Junior для начинающих IT-специалистов .
Если ты фанат IT-сферы, тебе интересно поработать с базами данных и узнать, что такое хранилища, любишь решать сложные задачи и хочешь помогать бизнесу работать более эффективно, то этот марафон точно для тебя!

С 24 по 28 мая IT-эксперты будут знакомить тебя с  технологиями BI и Big Data, расскажут об интересных проектах и покажут, как это работает в ведущих банках и телекомах нашей страны🤩 А HR-специалисты поделятся лайфхаками, как найти работу мечты.

Регистрируйся на онлайн-марафон GlowByte, получай знания и крутые подарки от организаторов ✌🏼
Программа марафона на сайте: https://datapeople.ru/junior-online
источник

ch

central hardware in Software Design/Architecture/Zen
Может поделится ссылками/материалами/запросами для гугла, по теме как тестировать встроенные в СУБД функции (psql)
источник

SP

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

SP

Sergey Protko in Software Design/Architecture/Zen
какие запросы в гугл ты уже пробовал?)
источник

АГ

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

AV

Alexey Vetrov in Software Design/Architecture/Zen
Добрый вечер.
Подскажите, что нужно считать "true invariant". Второй день читаю Вернона и не могу понять что-то.

За пример возьму обычную корзину. Есть агрегат Product, его корень ProductId. Есть агрегат CartItem, его корень CartItemId, внутри содержит ссылку на агрегат продукта.
Вопрос вот в чем. Если продукт убрали с продажи, Правильно ли, что мы должны сделать что-то такое при оформлении заказа.
ProductRepository.exist(CartItem.ProductId).
В таком случае сам cartItem же раскрывает свое состояние, отдавая наружу продукт, что плохо.
Переносить эту проверку в доменный сервис и пихать как зависимость в CartItem тоже не хочется.
Что можете подсказать?
источник

SP

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

SP

Sergey Protko in Software Design/Architecture/Zen
true invariant это такие инварианты (правила) которые не должны нарушаться. Ну то есть которые требуют immediate consistency. Когда система даже на мгновение не может быть в невалидном состоянии. Таких мало обычно.
источник

SP

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

SP

Sergey Protko in Software Design/Architecture/Zen
источник