Balancing Coupling in Software Design (Vlad Khononov)

  Рет қаралды 2,119

Tech Excellence

Tech Excellence

Күн бұрын

We are used to treating coupling as the necessary evil. Hence, we aim to break systems apart into the smallest services possible, in the ever-lasting quest of decoupling everything. But what results are we getting by following this reasoning? - Instead of the promised land of evolvable systems, many such “decouple everything” endeavors lead straight into the chains of distributed monoliths.
Can we do better? What if there is a better way to handle coupling in distributed systems? Or even, what if instead of fighting coupling, we can use it as a heuristic for designing systems that are actually evolvable and maintainable?
That’s exactly what you will learn in this session: what coupling is, and how you can use it as a design tool. We will start by taking a journey through time, and explore the different models of evaluating coupling.
Next, we will combine the existing knowledge into a coherent model - a simple function for evaluating a system’s decomposition into components. This function will allow you to assess the expected effort for evolving a system and use it as a heuristic for optimizing architectural design decisions.
ABOUT VLAD
Vlad Khononov is a software engineer with over 15 years of industry experience, during which he has worked for companies large and small in roles ranging from webmaster to chief architect. Vlad is a long-time proponent of domain-driven design and evolutionary architecture and currently helps companies make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.
Vlad maintains an active media career as a public speaker and blogger. He has spoken at numerous industry conferences - including O’Reilly Software Architecture, DDD Europe, and NDC - about subjects such as domain-driven design, microservices, and software architecture in general. In addition to his media work, he co-organizes the Domain-Driven Design Israel and Tel Aviv Software Architecture meetup groups.
Vladik lives in Northern Israel with his wife and an almost-reasonable number of cats.
- LinkedIn: / vladikk
- Twitter: @vladikk
- GitHub: @vladikk
- vladikk.com
TIMESTAMPS
0:00 Intro
1:57 About me
3:33 Coupling
5:26 Agenda
5:50 (1) What is coupling
8:25 (2) Dimensions of coupling
9:08 (Dimension 1) Strength
11:43 Coupling models
13:05 Integration strength (levels)
22:54 Integration strength (levels comparison)
23:58 Example: Integration strength
28:31 (Dimension 2) Distance
34:08 (Dimension 3) Volatility
34:56 Subdomains
38:18 (3) Use coupling as a design tool / heuristic
38:32 Balancing the dimensions of coupling
45:32 Example: Microservices
47:59 Example: Domain-Driven Design
49:50 (4) Wrap up
53:49 Additional resources (books, training)
55:46 Q&A. Discussion
TECH EXCELLENCE
- Subscribe to our KZbin channel / @techexcellence
- Join our Meetup Group www.meetup.com/techexcellence
- Follow us on LinkedIn / techexcellenceio
- Follow us on Twitter / techexcellence_
- Join our Discord Community / discord
#SoftwareArchitecture #DesignPrinciples #Coupling #Cohesion #Modularity #Complexity #softwareengineering #techexcellence

Пікірлер: 8
@vladanulardzic3186
@vladanulardzic3186 9 ай бұрын
Thank you TE (Valentina Cupac) & Vlad Khononov for this GREAT session. KEY TAKEAWAY: DIMENSIONS OF COUPLING DESCRIBE THE NATURE OF A RELATIONSHIP BETWEEN TWO CONNECTED COMPONENTS. COMBINING THESE DIMENSIONS WE ARE GETTING FORMULA WHICH REFLECTS THE COST OF CHANGES. Keep on.
@TechExcellence
@TechExcellence 9 ай бұрын
You're welcome, great key takeaway!
@hsukesan
@hsukesan 9 ай бұрын
Fantastic session by Vlad.. 👏👏👏
@TechExcellence
@TechExcellence 9 ай бұрын
Thank you!
@Helen-99
@Helen-99 9 ай бұрын
Great video, thank you so much!
@TechExcellence
@TechExcellence 9 ай бұрын
Glad that it was helpful!
@Gray-Today
@Gray-Today 9 ай бұрын
Balancing coupling with what?
@TechExcellence
@TechExcellence 9 ай бұрын
Balancing the dimensions of coupling (strength, distance and volatility) in software
Balancing Coupling in Software Design - Vlad Khononov - DDD Europe 2023
50:43
Domain-Driven Design Europe
Рет қаралды 8 М.
Vertical Slice Architecture (Jimmy Bogard)
1:35:42
Tech Excellence
Рет қаралды 7 М.
Vivaan  Tanya once again pranked Papa 🤣😇🤣
00:10
seema lamba
Рет қаралды 31 МЛН
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 108 МЛН
Can Great Programmers Be Taught? - John Ousterhout - Agile LnL
1:02:44
Agile LnL (Agile Lunch & Learn)
Рет қаралды 22 М.
Modular Monoliths Are The New Microservices
31:08
TaleLearnCode
Рет қаралды 23 М.
Unlocking the Awesome Power of Refactoring (J. B. Rainsberger)
1:41:13
Tech Excellence
Рет қаралды 1,1 М.
Balancing Coupling in Software Design - Vlad Khononov - NDC Oslo 2023
56:13
The Lost Art of Software Design • Simon Brown • YOW! 2019
46:16
GOTO Conferences
Рет қаралды 27 М.
DDD - Service Boundaries (Adam Ralph)
1:31:35
Tech Excellence
Рет қаралды 689
How to Crack Any System Design Interview
8:19
ByteByteGo
Рет қаралды 326 М.
TDD Anti-Patterns (Emmanuel Valverde Ramos & Matheus Marabesi)
1:32:03
Tech Excellence
Рет қаралды 1,1 М.
GamePad İle Bisiklet Yönetmek #shorts
0:26
Osman Kabadayı
Рет қаралды 572 М.
YOTAPHONE 2 - СПУСТЯ 10 ЛЕТ
15:13
ЗЕ МАККЕРС
Рет қаралды 173 М.