Principes de conception
Une signature commune pour toutes les features
Lâun des principes fondamentaux de OIP Features est que toutes les features doivent partager la mĂȘme structure dâinitialisation.
Cette homogénéité permet :
- de simplifier lâapprentissage
- de faciliter lâintĂ©gration
- dâĂ©viter les implĂ©mentations ad hoc selon les projets
- de garantir une expérience développeur cohérente
Une logique centrĂ©e sur lâentitĂ© Project
La feature travaille toujours Ă partir de lâentitĂ© Project, qui constitue lâobjet central manipulĂ© dans OIP.
Le contrat est simple :
- la feature reçoit un Project
- elle exécute sa logique métier ou technique
- elle retourne ce Project, modifié ou non
- elle peut retourner des métadonnées supplémentaires si nécessaire
Ce principe permet de garder un mode dâintĂ©gration stable dâune feature Ă lâautre.
Une séparation claire entre initialisation et exécution
Une feature est dâabord initialisĂ©e avec des options de configuration. Cette Ă©tape prĂ©pare les handlers nĂ©cessaires, comme la mise Ă jour de task ou lâĂ©mission de messages.
Ensuite, les fonctions mĂ©tier exposĂ©es par la feature peuvent ĂȘtre appelĂ©es avec leur contexte dâexĂ©cution propre :
- projectEntity
- args
- taskState
Cette séparation améliore la lisibilité et rend les features plus faciles à tester et à réutiliser.
Des conventions explicites
Pour renforcer la cohĂ©rence de lâĂ©cosystĂšme, plusieurs conventions sâappliquent :
- le nom dâune feature est suffixĂ© par Feature
- les APIs exposées doivent suivre un contrat homogÚne
- les donnĂ©es spĂ©cifiques Ă lâappel passent dans args
- les statuts de task sont transmis via taskState lorsquâon est dans un contexte de task
Ces conventions sont essentielles pour faire de OIP Features une vraie bibliothÚque industrielle et non une collection hétérogÚne de modules.