Тёмный

Don't let MediatR hold you back, try this... 

Raw Coding
Подписаться 71 тыс.
Просмотров 13 тыс.
50% 1

Wolverine is a Next Generation .NET Mediator and Message Bus, not only does it give you what MediatR gives you, but it also opens doors for building distributed message processing systems. In this demo I show how to Wolverine compares to MediatR, and how to integrate the it's message processing capabilities with AWS SQS.
Patreon 🤝 / raw_coding
Courses 📚 learning.raw-coding.dev
Shop 🛒 shop.raw-coding.dev
Discord 💬 / discord
Twitter 📣 / anton_t0shik
Twitch 🎥 / raw_coding
🕰️ Timestamps
00:00 Introduction
01:42 MediatR comparison
04:24 Message Bus Introduction
07:40 Messages via AWS SQS
10:24 Inbox & Outbox
wolverine.netlify.app/
#aspnetcore #csharp #wolverine

Опубликовано:

 

21 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 52   
@RawCoding
@RawCoding Год назад
Why I don't use MediatR ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-gIVtrBtR-Yw.html
@adrian_franczak
@adrian_franczak Год назад
I like this ceremony with interfaces so I don't have typos in my code xD
@DanWalshTV
@DanWalshTV Год назад
Agreed. Aside from the fact I don't believe a third-party library should enforce a naming convention on application code, it's simply more error-prone than using an interface.
@majormartintibor
@majormartintibor Год назад
@@DanWalshTV you can very easily write Architecture tests that enforce the naming convention and eliminates the error possibility. Also the naming convention is pretty much the exact same as most of us name our shit anyway.
@DanWalshTV
@DanWalshTV Год назад
I definitely would've preferred the "ceremony" interface over using a forced naming convention that is more error-prone, but maybe that's just me. With that said, the project looks cool (along with its sibling project, Marten) but I don't really see anything that would compel me to use it over the already production-ready and feature-rich MassTransit as of today. I'll be keeping an eye on its progress though, will be interesting to see how it looks once they reach v1.0. I gave them a star on GH last year.
@user-eu1yf8ec7b
@user-eu1yf8ec7b 10 месяцев назад
I also completely agree with what you've stated
@shadmansudipto7287
@shadmansudipto7287 6 месяцев назад
I also completely agree with what you've stated
@stefano_schmidt
@stefano_schmidt 4 месяца назад
I also completely agree with what you've stated
@IvMisticos
@IvMisticos 2 месяца назад
I also completely agree with what you've stated
@lucasxavier948
@lucasxavier948 6 дней назад
I also completely agree with what you've stated
@19balazs86
@19balazs86 Год назад
Hi Anton, thanks for the video! Wolverine and Marten are getting more and more attention. I can not wait for more tutorials to showcase all the goodies they offer.
@ernest1520
@ernest1520 Год назад
I'm surprised to hear that mediator has a bad opinion these days. Things going full circle I see. If someone is complaining about the explosion of numerous classes when using mediator, they should first look in the mirror because that's where likely the root cause of their problems is. When things are properly architected, then mediator with its handler classes only empowers things and promotes the single responsibility principle.
@eradubbo
@eradubbo Год назад
When things are properly architected there is no need to be dependent on Mediatr, Automapper or any other third party libraries not necessary
@IvanRandomDude
@IvanRandomDude Год назад
Poor Jimmy Bogard. Few years ago everyone was hyping his libraries. Nowadays, everybody is trashing them.
@ernest1520
@ernest1520 Год назад
People being people
@PaulPendor
@PaulPendor Год назад
Not everyone. Just the people who jump on to the next dogmatic hype, rather than really thinking about their domain, their problems and their specific situation. That’s why everyone goes microservices first and introduces lots of complexity, rather than figure out what actually needs to be microserviced.
@tumelomotsikelane
@tumelomotsikelane Год назад
I have been following wolverine for some time. I can't wait for it to be production ready
@marna_li
@marna_li Год назад
Awesome to see so many alternatives to MediatR! I do use MediatR internally, and MassTransit for integration events. It's by habit from how I learned it. But I might as well use MassTransit in my entire application since it supports Mediator and Outbox pattern and so on. I do think that MediatR gives a cleaner interface. But I'm also very tired of having all these classes for Endpoint and Handlers.
@user-qf2xk1fg6e
@user-qf2xk1fg6e Год назад
Cool thing! You show a lot of useful stuff! Thanks, I really appreciate it. U help us to become better!
@kavunr
@kavunr 11 месяцев назад
Very cool stuff, I like that it can be used as an in memory mediator ala-MediatR, but extended per message to use a queue. I recently starting using Mediator (code generated version of MediatR) but Wolverine makes a lot of sense if I need to distribute commands/notifications in the future.
@rustamhajiyev
@rustamhajiyev Год назад
I don't know about you people, but I don't like to use conventions unless they are your own (there is a place in your project where someone can check which conventions you have decided to use). Anyway, thanks for the content 👍
@fieryscorpion
@fieryscorpion Год назад
It’s pretty neat! Dayummmm.
@jeremyhb1393
@jeremyhb1393 Год назад
Good job!! 🖐 thanks for the explanation, would you please make a video talking about the adv and dis of using application-level triggers in efcore there is a library named EntityFrameworkCore.Triggered use it as an example .
@sandromagalli8587
@sandromagalli8587 Год назад
im a junior and i have been working on app mobile app that is supposed to work offline, so you can do crud stuff with some data stored in a local db and then when the server is available i've made the app to send the new data and the server to send back his new data. Conflicts are resolved for now just that server wins. It's not an app for the general public but more like other companies. It works for now, but i've always been curious how you are actually supposed to make this distribute stuff.
@adrian_franczak
@adrian_franczak Год назад
This vs masstransit video!
@mottahh4162
@mottahh4162 Год назад
I really hate the libraries that depends only on naming I believe using interfaces is much more cleaner and less error prone
@PaulPendor
@PaulPendor Год назад
Yes, that was my first thought. I’ve seen so many instances where naming conventions have lead to bugs. Interfaces give you compile time failure feedback rather than runtime feedback.
@cocoscacao6102
@cocoscacao6102 Год назад
I wouldn't replace MediatR with this, but damn... This is a vary fine library (even though it's in early stage). Sharing is caring :)
@andrewiecisa2907
@andrewiecisa2907 Год назад
I use Masstransit and is as simple to setup as your demo
@ivanvincent7534
@ivanvincent7534 Год назад
Have you used Brighter?
@RawCoding
@RawCoding Год назад
No
@frankhaugen
@frankhaugen Год назад
I have started to reduce my use of "patterns in a nuget"
@xRealHackerx
@xRealHackerx Год назад
Wolverine is good only for hello world apps. SQS docs are almost missing and nothing is changing for months.
@OeHomestead
@OeHomestead Год назад
Next week: "Still using Wolverine? Stop it! Make your own solution."
@RawCoding
@RawCoding Год назад
The jig is up
@rentefald
@rentefald Год назад
Exactly.. stop using all these frameworks, just build it your self.
@PaulPendor
@PaulPendor Год назад
It’s like it’s some sort of click bait headline right 😂
@coolmn786
@coolmn786 Год назад
Me hides in the corner coz I like mediator.. oops
@frankhaugen
@frankhaugen Год назад
You are allowed to have your own preferences
@DanWalshTV
@DanWalshTV Год назад
There's nothing inherently wrong with it. This is more of an in-process vs disturbed discussion (it'd be no different comparing Mediatr and MassTransit). If you only require in-process for your use cases, continue happily using Mediatr regardless of what others say.
@ivanvincent7534
@ivanvincent7534 Год назад
@@DanWalshTVexactly.. not sure the comparison in this video is fair.
@NickSteffen
@NickSteffen Год назад
Yea, I definitely think it’s good for something’s, I think for the typical use case people demonstrate in an api that will only ever call the same handler it’s a bit over the top though. Your really only getting the standardized pipeline behaviors at that point and Mediatr itself is just a glorified function call. I’ve used it in a couple projects that have to execute lists of arbitrary different commands in sequence and it’s really good for that. Replicating the functionality it provides in that case with dictionaries and some other stuff would be painful.
@lettuceturnipthebeets790
@lettuceturnipthebeets790 Год назад
finally, someone said it! mediatr makes the developing process so much longer than necessary, it's awful sometimes >.
@ddrsdiego
@ddrsdiego Год назад
maybe it's because you don't know design patterns, think like that.
@ernest1520
@ernest1520 Год назад
If adding a request class (or even better- a record) and a corresponding handler makes the process "much longer" then I don't think that the problem is with the tool...
@lettuceturnipthebeets790
@lettuceturnipthebeets790 Год назад
​@@ernest1520 well yeah, it's exactly so - creating a separate record and handler instead of a simple service method call easily tripples the time of the initial setup (not talking implementation logic of the handler/method, just the setup)
@bogdanb904
@bogdanb904 Год назад
@@lettuceturnipthebeets790 So you're telling me that making a service class, with respect to SRP so you don't have 50 random methods in there, exposing a method(the handler), that accepts some input (the request record) takes longer?
@lettuceturnipthebeets790
@lettuceturnipthebeets790 Год назад
​@@bogdanb904 ...of course? look at it this way, imagine you have a service, but for every method you must create a separate record. it's already longer by itself. now if you want to use MediatR for the same purpose, not only you have to create a unique record for every handler call, but also the records repeat a lot (talk the endless single-id-property query records), while also having to implement a sh*tload of interfaces
@zfold4702
@zfold4702 Год назад
Good you got a haircut but what happened to your eyes?
@PCM-Data8
@PCM-Data8 7 месяцев назад
Have you tried `Paramore.Brighter`, and `Paramore.Darker`?
Далее
Why I DON'T use MediatR in ASP.NET Core
21:51
Просмотров 14 тыс.
How slow is MediatR really?
15:51
Просмотров 60 тыс.
지민 (Jimin) 'Who' Official MV
03:28
Просмотров 13 млн
Qalpoq - Kichkina tabib (hajviy ko'rsatuv)
30:41
Просмотров 285 тыс.
You DON'T want an In-Memory Event Bus like MediatR
11:20
Understanding CORS with ASP.NET Core C#
17:44
Просмотров 11 тыс.
You are mocking the HttpClient the wrong way
13:56
Просмотров 49 тыс.
ASP.NET Core C# Event Sourcing with Marten
21:53
Просмотров 9 тыс.
Understanding .NET C# Heaps (Deep Dive)
28:23
Просмотров 12 тыс.
What you should know about Threads in .NET
14:52
Просмотров 7 тыс.
지민 (Jimin) 'Who' Official MV
03:28
Просмотров 13 млн