|
Du point de vue de chaque classe utilisatrices le design du système correspond maintenant à la cible. Toutefois en termes d'implémentation globale, cela correspond à balayer une pièce et à tout cacher sous le tapis. Vous avez toutefois d'ores et déjà obtenu deux choses :
a) Les composants sont testables unitairement. Il est maintenant possible de développer des tests JUnit / NUnit en utilisant la déclaration des classes dans le conteneur IoC et les nouvelles interfaces des composants. Il est donc possible de surveiller l'apparition de régressions dans la phase finale de refactoring de l'ancien code décrite ci-après.
b) L'impact de chaque action de refactoring sur le code existant est limité. L'utilisation de la programmation par interface et l'utilisation d'un conteneur IoC permet de manipuler le modèle final, sain, sans référence avec les anciennes classes d'implémentation qui deviennent donc modifiables plus facilement.
|