Pour aller au bout de mon exemple :
Mon agent possède actuellement un plugin pour les bases SQL Server et un pour MySQL.
Si un jour quelqu'un veut que mon agent puisse se connecter à une base Oracle, j'ai juste à coder la classe correspondante et ajouter sa dll dans mon dossier de plugin; tout le reste se fera tout seul sans rien changer dans le code de mon agent :D