
La version v0.0.3 du mini-conteneur d'injection de dépendances Go fgm/izidic vient d'être publiée, avec de nouvelles fonctionnalités incompatibles et des exemples concrets d'utilisation. Un fil de discussion est disponible pour cette release, sur https://github.com/fgm/izidic/discussions/10
Nouvelles fonctionnalités
Depuis sa création, Container
était un type concret struct
. Pour faciliter l'écriture de tests unitaires
pour les implémentations de types Service
, le type est dorénavant un type interface
.
Mise à niveau (upgrade)
Pour les programmes utilisant une version antérieure et passant à la version 0.0.3, cela implique un seul changement: remplacer tous les paramètres et variables de type *izidic.Container
par le type izidic.Container
.
- Dans la plupart des cas, cela ne concernera que les fonctions
Service
- Pour les applications qui suivent l'exemple fourni et implémentent une fonction
Resolve
, sa signature est à changer pour qu'elle ne renvoie plus un*izidic.Container
mais unizidic.Container
- Pour les applications qui utilisent un modèle ServiceLocator, le même changement s'applique à toutes les autres fonctions recevant le conteneur comme paramètre.
Exemples
Le nouveau répertoire examples
contient une application d'exemple illustrant une structure possible d'application avec IziDIC stockant des paramètres et des services, et utilisant le modèle recommandé de conteneur applicatif enveloppant le conteneur IziDIC de base.