Денис Цветцих - 9 способов улучшить архитектуру вашего проекта при помощи CQRS и vertical slices

  Рет қаралды 4,361

DotNext — конференция для .NET‑разработчиков

DotNext — конференция для .NET‑разработчиков

2 жыл бұрын

Ближайшая конференция - DotNext 2024, 10 - 11 сентября, Москва + online
Подробности и билеты: jrg.su/x2GKnA
- -
Логика большинства проектов реализуется «горизонтально» в виде слоя ApplicationServices. Однако существует альтернативный подход, когда для каждого юзкейса создается отдельный класс-хендлер. Чаще всего такой подход используется вместе с CQRS, когда система распиливается на стеки чтения и записи ради повышения производительности. Джимми Богард назвал этот же подход vertical slices. Многие разработчики слышали о нем, но не используют, так как не могут ответить на вопрос: «стоит ли использовать хендлеры, если мы не боремся за производительность при помощи CQRS?»
В докладе Денис покажет 9 преимуществ, которые дают вертикальные хендлеры/слайсы по сравнению с привычными горизонтальными слоями. А также он поделится опытом перехода с сервисов на слайсы.

Пікірлер: 11
@FreemanFromSteppe
@FreemanFromSteppe Ай бұрын
использую CQRS и Vertical Sliced в любых проектах, потому что это упрощает восприятие системы и ориентацию в системе.
@Ivan-fw3nv
@Ivan-fw3nv Жыл бұрын
облегчение на лицо (с)
@user-tk2jy8xr8b
@user-tk2jy8xr8b Жыл бұрын
Падажжите, они родственники или нет?
@user-jr4ou9gh6b
@user-jr4ou9gh6b Жыл бұрын
9 преимуществ мотоцикла перед велосипедом: явные: едет быстрее, он мощнее, вы раньше прибудете на место, условные: на вас есть шлем, на вас есть защита, и побочные преимущества: колёса шире, больше спиц, есть бибикалка, есть зеркальце. Минусов у мотоцикла практически нет, только ветер сильнее. Мужики, у вас лекция ради лекции, просто чтобы гонорар отработать? Я же смотрю на вас, как на супер-профи в программировании, в надежде узнать что-то полезное, а после такого ролика браться за новое уже не хочется. Тема не раскрыта! (минус полтора часа с пересмотрами)
@artemignat7764
@artemignat7764 14 күн бұрын
Да ладно !!!!!!!!!!!!!!!. Два брата!!!
@alexeygot
@alexeygot 2 жыл бұрын
уровень спикеров в очередной раз огорчил(( примеры все как 1 притянуты за уши, про зависимости - поржал от души эксперт так эксперт
@vadim_b.
@vadim_b. 2 жыл бұрын
Парни, что за терминология? Нахватались терминов не понимая их. Юскейс нельзя вызвать, тем более из юскейса. Use case это как бы типичная ситуация или поведение, вариант, случай или их описание, сценарий. Не код или реализация. ru.wikipedia.org/wiki/%D0%A1%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B9_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F К примеру, Delete как метод объекта, это не юскейс. А вот вызов этого метода при каких-то условиях или по какому-то сценарию, это уже юскейс, но опять же не на уровне Delete. Delete не актор, по крайней мере не в указанном примере. И даже если Delete вызывает другой Delete, тут нет юскейса, это выполнение внешнего сценария.
@Cleannetcode
@Cleannetcode 2 жыл бұрын
терминов конечно и правда много, и порой они только все портят. Но в данном случае use case - вариант использования, и докладчик вполне верно его употреблял. Пример с Delete верный, просто нужно понять, что докладчик рассказывал именно про слой Application где описаны как раз таки сценарии. В данном случае мы видим сценарии описанные в виде commands and queries (CRQS).
@vadim_b.
@vadim_b. 2 жыл бұрын
@@Cleannetcode Попробую по другому пояснить. У спикера юзкейс, это конкретная реализация. Вот унего даже "код юскейса" есть. Delete - юскейс для объекта. Но не конкретный метод объекта. Для одного юскейса может быть несколько реализаций метода Delete. Если вы будете делать так, как он, то вам придется придумывать обобщающий реализации термин, типа "юскейс верхнего уровня". Это бардак. Вот у него "юскейс вызывает юскейс". Ну и как вам, понятно кто на ком стоял?
@Cleannetcode
@Cleannetcode 2 жыл бұрын
@@vadim_b. хмм, звучит здраво. Спасибо :)
@RajaKajiev
@RajaKajiev 2 жыл бұрын
+1 правильное наименование проблемы - половина решения!
Денис Цветцих - Модульный монолит вместо микросервисов: Как, когда и зачем
1:00:37
DotNext — конференция для .NET‑разработчиков
Рет қаралды 5 М.
Tired of Layers? Vertical Slice Architecture to the rescue!
12:26
NERF WAR HEAVY: Drone Battle!
00:30
MacDannyGun
Рет қаралды 58 МЛН
Каха и суп
00:39
К-Media
Рет қаралды 5 МЛН
А какие виды CQRS вы знаете? Андрей Цветцих, Тинькофф
38:47
Видео с мероприятий {speach!
Рет қаралды 2,5 М.
Что такое WebSockets (веб-сокеты)
2:59
Хочу вАйти
Рет қаралды 6 М.
Максим Аршинов - Быстрорастворимое проектирование
59:54
DotNext — конференция для .NET‑разработчиков
Рет қаралды 18 М.
Владимир Хориков - Domain-driven design: Cамое важное
1:13:59
DotNext — конференция для .NET‑разработчиков
Рет қаралды 50 М.
Андрей Цветцих - Чистая архитектура на практике
1:13:49
DotNext — конференция для .NET‑разработчиков
Рет қаралды 8 М.
Дмитрий Иванов - Async programming in .NET: Best practices
56:48
DotNext — конференция для .NET‑разработчиков
Рет қаралды 28 М.
Денис Пешехонов, Александр Химушкин - Укрощаем DDD на практике
56:21
DotNext — конференция для .NET‑разработчиков
Рет қаралды 2,1 М.
Сергей Тепляков - Диагностика асинхронного C# кода
1:04:14
DotNext — конференция для .NET‑разработчиков
Рет қаралды 6 М.
Игровой Комп с Авито за 4500р
1:00
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 2,3 МЛН
ОБСЛУЖИЛИ САМЫЙ ГРЯЗНЫЙ ПК
1:00
VA-PC
Рет қаралды 2 МЛН
Телефон-електрошокер
0:43
RICARDO 2.0
Рет қаралды 382 М.
Easy Art with AR Drawing App - Step by step for Beginners
0:27
Melli Art School
Рет қаралды 14 МЛН
АЙФОН 20 С ФУНКЦИЕЙ ВИДЕНИЯ ОГНЯ
0:59
КиноХост
Рет қаралды 656 М.
Сколько реально стоит ПК Величайшего?
0:37