~/talk

Async injection

Talkat NDC Minnesota 2019 · 2019-05-06..05-09· [c-sharp, functional-programming]
slides:none on file

Claims a concrete pattern: move impure DB calls to the edge, change repository reads to produce Task or collections and inject decision logic into the async monad instead of making domain methods async. Shows C# code: add Select/SelectMany for Task/Lazy, implement a lightweight Maybe<T> with Match, use Select to map reservations and defer repository.Create to the controller. Result: business logic stays deterministic and synchronous; I/O stays async at the boundary, and the examples compile and run.

AI-written summary · about

  1. 0:00Start
  2. 3:21Dependency Injection
  3. 3:42Constructor Injection
  4. 5:23Domain Driven Design
  5. 8:05The Dependency Inversion Principle
  6. 8:43Leaky Abstraction
  7. 10:27Post Method
  8. 12:37How Do You Get the Value out of My Monette
  9. 13:31The Xy Problem
  10. 15:35What a Monad Is
  11. 15:50What a Functor Is
  12. 21:16Add a Select Method as an Extension Method
  13. 24:00Query Syntax
  14. 29:06Unit Containers
  15. 29:20Semi Containers
  16. 33:19Constructor Overload
  17. 34:57Structure Preserving Map
  18. 41:41Aggregate Methods
  19. 44:31How Do I Combine Dependency Injection with a Sink and a Weight without Leaky Abstractions
  20. 45:51Impure Operation
  21. 50:07Move Repository Create to the Post Method
  22. 52:36Match Method
  23. 55:43Compiler Warning
~/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.