 
      
    | You are here | www.nikolaposa.in.rs | ||
| | | | | jmmv.dev | |
| | | | | 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. | |
| | | | | blog.martinig.ch | |
| | | | | Architecture is an important asset for good programming and the notion of "pattern" is here to help us apply already trusted code architecture solutions to common problems. Jason McDonald has done a wonderful job to group some of them in a document that should be useful to most software developers. Go to his blog to | |
| | | | | ryanharter.com | |
| | | | | 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. | |
| | | | | www.tvagile.com | |
| | | |||