Great explaination! Although this behaviour hardly qualifies as a law imo
@drawingboxes9 күн бұрын
Thanks! It's "law" like in "Moore's Law", "Murphy's Law", or "Newton's First Law". Like a law of nature. It's just an observation of a thing that happens. Personally I like how that differentiates it from a "pattern" or "practice" that you can chose to follow or ignore.
@cuicuidev9 күн бұрын
@@drawingboxes I'm not sure I could explain myself clearly on this, as I'm not a native english speaker, but there's a pretty good talk on KZbin by Casey Muratori on the same topic that aligns with my point of view (and it somewhat influenced me). If you're interested, just type his name and Conway's law.
@Danielo51521 күн бұрын
I love how the purple 🟣 is keep here in the car aggregate 😂
@kvelezАй бұрын
Thanks for the visuals.
@kvelezАй бұрын
Great explanation.
@ehm-wg8pdАй бұрын
your channel is skyrocketing sir, up
@SirRFIАй бұрын
Gold mine of a channel. Looking for more!
@maikwiesmuller1174Ай бұрын
Except that thes resulting graph is not what is written/explained in the book, it's an interpretation with some additions from Drawing Boxes! Especially the Ports inside the Domain(Enterprise Business) layer and 5 instead of 4 layers. It's "their" version of clean architecture. Please call it something different then.
@drawingboxesАй бұрын
Good spot! In Robert Martin's Clean Architecture diagram, there is one inner circle drawn for 'Enterprise Business Rules', which contains Entities, whereas in our diagram at 4:09 we have kept the circles from Jeffrey Palermo's Onion Architecture diagram, with separate circles for the Domain Model and Domain Services. There is no correct number of layers for Clean Architecture. The main point is that dependencies point inwards and the software is more abstract towards the centre.
@LunoluxАй бұрын
nice explaination thx
@RiKeMer96Ай бұрын
Thank you so much for the simple easy to understand explanation of DDD😭
@Scudmaster112 ай бұрын
Monolithic code can be structured just fine... there is structured and unstructured monolithic code.. unstructured is spaghetti.. as for modular monolith.. ehh no
@kentra-io2 ай бұрын
Best video I've found on this topic. Thanks.
@royerguerrerop59822 ай бұрын
We need more videos. the simplicity of your explanations is the glory
@tmanley19852 ай бұрын
This is fantastic. Great explanation. I've seen this explained elsewhere in a book I think and for the life of me can't remember which but this is an excellent summary.
@JustSomeObject3 ай бұрын
I was once in a project where I was forced to implement an architecture that is totally different to the team structure. it was a nightmare while the startup founder CTO lives in his ivory tower
@edgeeffect3 ай бұрын
I've been binge watching all your videos. Great stuff, I already knew some of this stuff but these are still really really clear and concise descriptions and you've had a thing or two to teach me too. This one's my favourite though. I'm mad keen on spoken language too and all your talk of tenses and moods and persons ticks two of my boxes at once. :)
@edgeeffect3 ай бұрын
Excellent! I've never really worked on any systems where Eventual Consistency is a thing... and I've, obviously, heard the term bandied about a lot... but never really known how it works.... until now! :)
@edgeeffect3 ай бұрын
Cool... "Brian Foote and Joseph Yoder"... it's great to have a name (or, two names, in this case) to attach to the term "big ball of mud" :)
@IcaroAlvarez3 ай бұрын
Beauuutiful explanations! Thanks a lot
@SoroushOracle3 ай бұрын
awesome
@SoroushOracle3 ай бұрын
Very Good
@SoroushOracle3 ай бұрын
Great
@jnjarun3 ай бұрын
Best explanation with short videos. I really like it. Understood well about DDD.. Please post a video related AWS migration from off-premises to ON premises for legacy application ex: Java application
@alexanderaugust2294 ай бұрын
great explanation! Thank you
@tbm83474 ай бұрын
Your Videos containing explanations in few minutes what workshops trying to say in hours. Thank you very much! Keep up! I will share it within my Team :)😊
@tamasszebenyi59424 ай бұрын
Up! I appreciate videos like these because Agile has been abused by quickly trained Agile coaches with no real knowledge of IT. They are enforcing practices they don't understand, making teams miserable and ineffective, eventually making people completely turn away from Agile I'm not a fan of the whole commercialised thing, but it's clear that the core values make sense
@Dalamain4 ай бұрын
Love your explanation thank you - I'm still on the fence about this paradigm. Again it feels like it was put together by some journeymen devs who were bored and felt they needed to invent something nobody asked for and probably another layer of bloat in microservice hell architecture. We developers often cite how complicated web development has become and its because of things like this.
@drawingboxes4 ай бұрын
Thanks! Glad you like it. I think in some cases you could argue that CRUD adds a layer of bloat to things that naturally have separate read and write models. But yes, using CQRS where it is not a good fit just unnecessarily complicates things
@danyboomz4 ай бұрын
Please take a look at spring modulith, it implements all the concepts you described in all your videos !
@masickboi4 ай бұрын
kzbin.infoBZxSDkVcwhU?si=HkQ2Ly-GnzI66pnE
@SarcSaus4 ай бұрын
For our new system I actually implemented an event-sourced system backed by SQL using efcore; it's typed, uses automatic JSON versioning and upgrade-on-read, as well as a strongly-consistent projections system where the projection state goes in the same transaction as the event append. Performance has actually been pretty great, and the way it makes rearranging the read model as requirements change has been absolutely amazing, I don't think I'd want to go back to a regular ORM.
@SweetTorment724 ай бұрын
Isn't Value Object a bit of an oxymoron, since objects usually have identity in OO? My brain wants to call them Value Types. They behave more like value types such as int and enum, and I also think they are easier to implement as structs rather than classes in C#.
@agostiik57124 ай бұрын
One reason to call them value OBJECT instead of TYPE, is that it is like an attribute of an entity. These attributes can also be simple or complex (=> object) but the important thing as the video also says is that it has to be immutable. For sure, simple attributes could be handled in structs or enums but the more complex it gets, the easier it is to implement it in a class. And in OO an object can literally be anything, either simple or complex. It is not a usual thing to have id in an object, thats more like an entity.
@HungLe-jp6ct4 ай бұрын
I can't believe how clearly this video explains everything. It's the best comprehensive explanation I've had in a while.
@primavera9195 ай бұрын
Excellent video displayed in an animation, thanks a lot
@tmkhandl5 ай бұрын
Its most underrated channel. Thanks for good explanation. I request you one think please avoid music. Your explanation is very important cor viewers.
@AttilaOlbrich5 ай бұрын
I really like your videos, they explain everything clearly, though I have a little bit of a different opinion here regarding monolith. Yes it is frequently become a "spaghetti jungle" what I'v seen in many companies I worked for, but I think there are use cases where the monolith application is the preferable choice considering the expected scalability, deployment and cost. The business scenario and so on. It this case a monolith application should be built in a clear and modular way following best practices, separation of concerns, business logic, therefore it will be easy to maintain, and the code in a properly structured monolith can be easy to follow, modify. If it is done in a proper modular way, there is a way to split it up later in that unlikely scenario that it has to be ported to a micro-service architecture. I am saying "unlikely" because before making the decision of the right architecture I assume it was assessed properly which solution fits the business case.
@drawingboxes4 ай бұрын
Yup, spot on! There are always trade-offs to consider. Sometimes a modular monolith is exactly the way to go
@Zainjerr5 ай бұрын
You just earned a sub! Awesome explanation mate
@Zainjerr5 ай бұрын
Amazing video!! 👏
@1over1375 ай бұрын
This is fine for atomic streams of operations that don't conflict received in order. Like 80% of website style transaction. However it does NOT scale horizontally. It provides, no, it refuses basic concurrency monitor controls and basics like "Test and set". Splitting a "Dequeue" operation into 2 concurrent/ordered operations leaves you wide open to race conditions, dead locks and I cannot see how this scales horizontally to accomodate increasing loads.
@miguelacuna71485 ай бұрын
You deserve a lot more views and subscribers. Love how clear you explain things.
@CheDCanal5 ай бұрын
I have never faced the "hexagonal architecture" wording in my 11-years career
@Mempler5 ай бұрын
This is also somewhat i figured. Thanks for clarifying everything 👌
@saidk.64615 ай бұрын
Great explanation, thank you!
@BaM6IIuP6 ай бұрын
an undervalued video with amazing explanation of so sophisticated topic. мое почтение
@johnxisde6 ай бұрын
amazing video!
@gorgin_dev6 ай бұрын
Thanks for your great content!
@jmbrjmbr23976 ай бұрын
great video, thanks!
@alibabarahaei22296 ай бұрын
best
@alibabarahaei22296 ай бұрын
perfect♥
@semenivanoff86156 ай бұрын
Well, not quite. Teams do not decide on cross domain integration and interactions. Architects do.
@drawingboxes6 ай бұрын
Architects themselves are part of the communication structures too, and what they build/create (frameworks, documentation, etc) is part of the system