~/talk

Design Patterns for Loosely Coupled Applications

Talkat Craft Conference 2019 · 2019-05-07..05-10· [software-architecture, testing]
links:none on file
slides:none on file

Argues that loose coupling cuts maintenance costs and shows a concrete C#/.NET Core refactor: a one-file console app reading a month-file becomes separate layers using a repository pattern for file I/O, a strategy pattern for catering rules, and .NET Core ServiceCollection for dependency injection. Demo code is on GitHub in incremental branches; the read repository, strategy and orchestration are implemented and enable isolated unit tests and mocking; the write/save repository is left as the exercise, proving the approach works for swapping data sources.

AI-written summary · about

  1. 0:00Introduction
  2. 1:55LiquidNone
  3. 2:36Arizona GiveCamp
  4. 3:15Loose coupling
  5. 3:31Why loose coupling
  6. 4:24Loosely coupled vs tightly coupled
  7. 5:32Solid principles
  8. 5:54Outline
  9. 6:22Single Responsibility Principle
  10. 7:35Dependency inversion
  11. 8:04Canonical example
  12. 8:52Classic example
  13. 10:10CSharp example
  14. 15:09Design patterns
  15. 15:52Facade pattern
  16. 17:06Read and write repositories
  17. 17:43Sample methods
  18. 18:53Changing databases
  19. 20:33Defining capabilities
  20. 21:19Defining abstractions
  21. 22:53Repositories
  22. 24:06dependency injection
  23. 24:39frameworks
  24. 25:00wire up dependencies
  25. 25:46dependency bag
  26. 26:37querying
  27. 28:54mixed logic
  28. 30:37strategy pattern
  29. 32:01interface
  30. 32:31separate strategies
  31. 33:14demo
  32. 36:33what have we done
  33. 38:00resources
  34. 38:47QA
  35. 44:13Interfaces
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.