IziDIC v0.0.3 qualité + exemples

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 un izidic.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.