Contribution Libre Rust Développement Architecture 2023 | 08 | 28

Ports and Adapters at compile-time for Rust

Dans ce dépôt, je propose une façon simple et efficace de mettre en œuvre une inversion de dépendances avec Rust. Plus particulièrement lorsque le besoin est de substituer les dépendances lors de la compilation et d’éviter le Dynamic Dispatch.

Très utile pour les tests unitaires et le TDD, mais aussi pour proposer des binaires avec des variantes d’implémentation. Par exemple pour livrer un webservice dans 2 versions , une pour Postgres et l’autre pour SqlLite.

Le code fait appel à la compilation conditionnelle, il est simple et lisible, mais destiné à des développeurs avancés qui ont déjà quelque notions de ces concepts.

J’insiste cependant sur le fait qu’il vaut mieux ne pas introduire d’abstraction tant qu’elle n’est pas indispensable, ce serait contre-productif.

Cadeau !!!