~/talk

Using Immutable Data Structures in C# and .NET

Talkat NDC London 2020 · 2020-01-27..01-31· [dotnet, functional-programming]
slides:none on file

Argues that immutability in C# reduces reasoning overhead and threading bugs and shows practical tools: System.Collections.Immutable where immutable lists create new instances on Add, AutoMapper and Newtonsoft.Json which map into constructor parameters, and System.Text.Json which requires custom converters for immutable types. Recommends refactors: prefer projection over mutation, use factory/builder patterns, immutable collections for shared data, and accept tradeoffs with Entity Framework and serializers when full immutability is impractical.

AI-written summary · about

  1. 0:00Introduction
  2. 2:10Fsharp
  3. 3:30How do you know if someone is functional
  4. 3:44C is something that is Bill
  5. 4:14Bad immutability jokes
  6. 4:24Scott Hanselman example
  7. 7:28List example
  8. 8:50Thinking
  9. 9:07Synchronization Quadrant
  10. 10:12Moores Law
  11. 11:36History of Immutability
  12. 12:35Immutable Classes
  13. 12:56Auto Properties
  14. 13:21ReadOnly Structures
  15. 14:33Anonymous Types
  16. 15:25Immutability
  17. 15:45Mutation Patterns
  18. 16:12Unnecessary Setters
  19. 16:59Columns for Table
  20. 17:17Column Type String
  21. 17:46Column Type Setter
  22. 18:36Projection over Mutation
  23. 19:04My Main Principle
  24. 19:39Open Setters
  25. 19:56Setup Methods
  26. 21:09Refactoring
  27. 22:11Immutable List
  28. 23:07Mutable List
  29. 24:01ReadOnly List
  30. 24:44AutoMapper
  31. 25:36Constructor
  32. 26:31SystemTextJason
  33. 27:47Builder Pattern
  34. 28:26DBContext Options
  35. 29:15No Open Setters
  36. 29:30Functional Ideas Only Work in C
  37. 30:12Immutability in C
  38. 30:40Entity Framework
  39. 32:32Hitting Ranks
  40. 33:37Tradeoff
  41. 35:36American Currency
  42. 35:51Immutability Has Helped Me Evaluate
  43. 38:19Align With Your Team
  44. 39:16Application Architecture
  45. 40:26Persistent Data Structures
  46. 40:43Event Sourcing
  47. 41:38Redux
  48. 42:41Change your mind
  49. 43:01Questions
~/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.