Author: Christian.Queinnec@lip6.fr

## Organisations mixtes

Le dernier exemple de la section précédente a montré l'intérêt qu'il y avait à mixer les deux modèles pour le problème de l'extensibilité des composants. On propose maintenant de mixer modules paramétrés et liaison retardée pour profiter de la puissance de ces deux traits. L'application du foncteur produira de nouveaux modules contenant des classes utilisant le type et les fonctions du module paramètre. Si, de surcroît, la signature obtenue est compatible avec la signature du module paramètre, il est alors possible de réappliquer le module paramétré sur le module résultat, permettant ainsi de construire automatiquement de nouvelles classes.
Un exemple complet est donné dans la dernière partie de cet ouvrage qui est consacrée aux programmes concurrents et/ou distribués (page ??). Nous utilisons un foncteur pour engendrer un protocole de communication à partir d'un type donné; un second foncteur permet ensuite de déduire de ce protocole une classe implantant un serveur générique traitant des requêtes exprimées dans ce protocole. L'héritage peut ensuite être utilisé pour spécialiser le serveur vers ce qui est réellement le service attendu.