Lorsque vous développez votre jeu de règles, vous pouvez remarquer des règles qui sont similaires sur différentes parties de votre fonctionnalité de jeu de règles.
Veillez à identifier les règles communes et à les centraliser.
En règle générale, deux options sont disponibles lors de la centralisation des règles communes :
Utilisez la prise en charge CER dans le cadre de l'héritage de l'implémentation pour permettre à une classe de règles d'en étendre une autre. L'éditeur CER fournit le mécanisme d'héritage permettant de concevoir la règle. Voir l'élément "extends" dans Propriétés de classe de règles.
Utilisez la prise en charge CER pour créer de nouveaux objets de règle permettant à une classe de règles de créer de nouvelles instances d'une autre classe de règles lorsque cela est nécessaire. L'éditeur CER fournit le mécanisme de confinement permettant de concevoir la règle. Voir la section change rule set and rule class dans Assistants d'éléments de règles.
Parfois, il peut être difficile d'identifier le mécanisme à utiliser lors de la centralisation des règles communes. En règle générale, vous devez utiliser l'héritage avec prudence et uniquement lorsque la classe de sous-règle représente un concept métier qui "est" véritablement une instance du concept métier représentée par la super-classe. En particulier, CER ne prend pas en charge l'héritage multiple.
Comme exemple d'héritage, citons une personne possédant des ressources, chacune d'elles étant un bâtiment ou un véhicule. Les classes de règles Building et Vehicle étendent chacune une classe de règles Resource abstraite. Voir la liste dans Classes de règles.
Vous devez utiliser le confinement lorsque le concept métier représenté par une classe de règles "a une" instance du concept métier représentée par la classe de règles confinée.
Comme exemple de confinement, citons une personne pour laquelle plusieurs tests de plage d'âge sont appliqués. La classe de règles Person crée des instances de AgeRangeTest.
Si vous constatez que des classes de règles similaires se trouvent dans différents jeux de règles, pensez à utiliser les fonctions CER (depuis Cúram V6) pour permettre à un jeu de règles de référencer des artefacts dans un autre. Placez les classes de règles communes dans un ou plusieurs jeux de règles et placez les classes de règles qui ne sont pas communes dans d'autres jeux de règles.