What is Software Architecture?

preview_player
Показать описание
Software architecture is about making key decisions that will impact how you can make decisions in the future. It's about giving yourself options at a relatively low cost early on so that your system can evolve over time without a high cost. Software architecture is about options.

🔗 EventStoreDB

💥 Join this channel to get access to source code & demos!

🔥 Don't have the JOIN button? Support me on Patreon!

0:00 Intro
1:36 Coupling & Cohesion
2:30 Logical Boundaries
5:06 Loose & Tight Coupling
8:08 CQRS

#softwaredesign #softwarearchitecture #cqrs
Рекомендации по теме
Комментарии
Автор

Appreciate the high quality videos you put out. There's so much content for beginners but not so much for those with a few years experience.

SNakamoto-
Автор

CQRS is more as you describe here. It can be exactly what you are saying but I have found in context of manufacturing applications (This is what I learned over the last quarter of a century :) ) it can also mean and apply differently. In my effort what I have the last couple years, getting major monolith broken down in a SOA construct and in a construct where I do have a part of the software with high response requirements and a part where data needs to be available to many other services and business parts I see it this way:
CQRS is a separation between C as "Command and Control" and Q as "Query in sense of reporting and analytics" ...therefor a want to keep the C part close to the production area. Probably OnPrem up to the edge at max. (all data that I need to produce or manufactore parts in seconds or minutes ...just in time (not realtime but ...almost :) ) and the Q part of data can be in different formats find there way in some kind of query optimized db, data lakes of whatever you call it. Available for everyone and everything decoupled from the real manufacturing process.

prod
Автор

A great simple explanation of software architecture that I totally agree with!

Thanks!

branislavpetrovic
Автор

Just a thought on the CQRS portion of this video, have you had a look at Marten or similar library? Not always the 'right' choice It could act as a great demonstration of how simple event sourcing could be when you don't over complicate things.

JackoCribbo
Автор

This is all well and good. I like what your saying but I'm having a hard time putting that to a practical use of something I've interacted with in the past. If I were to rebuild that system, for example, could you show some examples?

mattgraves
Автор

In a monolith, using one database, if i start isolating/decoupling by module/bounded context (isolating repository interface to its corresponding module) would i lose entity relationship to some extent in the database and risk database integrity?
Or should i share repository interface between modules so each can set its relationship to keep db integrity?
Or should each module hide it's repo interface and expose only service interface for retrieving some entity for the other module that needs it?
How important is database integrity in a modular monolith?

bunnihilator
Автор

I tend to use the term "systems architecture" when I'm on a system level (components, integrations, services etc), and "software architecture" when I'm at the software level (clean architecture, layers, SOLID etc). What's your opinion on this?

DiogoBaeder
Автор

I'm not convinced that using message passing instead of a function call automatically buys you "lower coupling". Maybe at best it's a form of "hidden coupling" since it's now harder to trace.

stochastic
Автор

Don't think that monolith has to have tight coupling. Perhaps its more tempting to introduce coupling.

kormuss
Автор

CQRS handlers stay at application service layer, the don't have to contain domain logic.Does not they?Thnks!

thedacian
Автор

So, is Messaging a Silver Bullet that solve all distributed systems issues?

malekalhourani