Balancing Coupling in Software Design - Vlad Khononov - NDC Oslo 2023

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • 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.
    Check out our new channel:
    NDC Clips:
    ‪@ndcclips‬
    Check out more of our featured speakers and talks at
    ndcconferences...
    ndcoslo.com/

КОМЕНТАРІ • 4

  • @z90u6r200
    @z90u6r200 Рік тому +4

    really intresting analysis of coupling and coupling pain, KUDOS!

  • @danflemming3553
    @danflemming3553 Рік тому +4

    I'm sorry but talking for 50 mins with absolutely not a single example of a line of code shown is too abstract for me. Maybe the content is high in value, but for me it's hard to understand.

    • @trinhthethanh
      @trinhthethanh Рік тому

      Totally agree with you, how we can understand a theory with all of theory words?