/explore

Click through on any links that interest you or select the planets on the right to continue exploring the Outer Web.
You are here

georgemauer.net
| | jmmv.dev
3.8 parsecs away

Travel
| | Dependency injection is one of my favorite design patterns to develop highly-testable and modular code. Unfortunately, applying this pattern by taking Rust traits as arguments to public functions has unintended consequences on the visibility of private symbols. If you are not careful, most of your crate-internal APIs might need to become public just because you needed to parameterize a function with a trait. Let's look at why this happens and what we can do about it.
| | ryanharter.com
2.5 parsecs away

Travel
| | I recently gave a presentation about how Dagger works under the hood, and I was once again struck by the elegance of the javax.inject.Provider interface. The interface is so simple it almost seems useless, but it's also incredibly flexible, and forms the basis of much of the code generated by Dagger. Like many dependency injection frameworks for JVM languages, Dagger uses and builds on the standard set of annotations for injectable classes defined in JSR-330 and provided in the javax.
| | fsharpforfunandprofit.com
1.2 parsecs away

Travel
| | [AI summary] This post explores six approaches to dependency injection in software development, focusing on managing impure dependencies and creating testable, deterministic code through techniques like dependency retention, rejection, parameterization, and others.
| | daniel-siepmann.de
12.8 parsecs away

Travel
| Explanation of how Dependency Injection works for TYPO3 Extbase (prior TYPO3 CMS v10).