Build software like a bag of marbles, not a castle of LEGO®
summary
Shows a working modular approach that lets a single ASP.NET Core deployable gain or lose device support by dropping plugin assemblies into a folder, using ApplicationParts.Add to load controllers, a small type-registrar wrapper around IServiceCollection for DI, a System.Text.Json custom converter for safe polymorphic deserialization, EF Core model injections to register plugin types at OnModelCreating, and FluentMigrator to keep migrations per-plugin. It handles the reality that ~25% of integrations go live and ~75% never do, and it proves the pattern works.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:36IoT platform challenges
- 7:12Refactoring the monolith
- 13:08Microservices not always answer
- 18:24Onion architecture
- 27:36Plugin-based system
- 32:16Polymorphic deserialization
- 35:31Plugin extension points
- 37:58EF Core and plugin data
- 41:31Database migrations with plugins
- 47:30Key takeaways
related talks
50mBuild Software Like a Bag of Marbles, Not a Castle of LEGO
58mBuild software like a bag of marbles, not a castle of LEGO®
01h 41mDesigning Deploy-Time Flexibility for Modular Systems
45mModular Web Applications with ASP.NET Core
54m12 Factor MicroServices
52mI Have a Microservices Architecture and I Didn't Know.
48mBuilding Microservices Using ASP.NET Core and AKS
01h 05mAPIs and Microservices in ASP.NET Core Today and Tomorrow
