Our great sponsors
-
AdaptiveClient
Library and pattern for creating a scalable, loosely coupled service layer. Build interdependent services that are granular and testable. Inject a single client that allows the application to access the entire service layer. Provision services across multiple providers and transports with almost zero application infrastructure.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
DI works. It adds complexity but it's worth it. The question of how to write granular, interdependent, testable services is a valid one. There are many dead-ends - for example how to wrap multiple service calls in a transaction. I wrote a small library called AdaptiveClient that attempts to answer these questions and simplify some of the complexity introduced by DI. Would love to hear your comments.
For example in the Zamagon demo app the Autofac Module for the UI project and the Autofac Module for the API project both load common backend DI registrations:
Related posts
- Any suggestions on a good place to learn n-tier?
- Managing DbContext in EFCore6 (the right way)
- EF Core multiple providers with multiple databases
- Pass a different parameter every time a Transient service is requested from the .NET Core DI container
- Entity Framework Core transaction across multiple services