Sélection d'une option parmi un ensemble d'options
Vous pouvez vouloir sélectionner une option unique parmi un ensemble d'options possibles en fonction de la réponse de l'utilisateur. Toutefois, lorsque le nombre d'options est très élevé, il peut être difficile d'organiser ou de gérer un seul tableau de cas comportant une colonne allouée pour chaque option.
Prenons l'exemple d'un plateau de table en bois disponible dans un très grand nombre de matières et de finitions, telles qu'Oak Veneer, Solid Oak, Solid Oak with Maple Trim, Maple Veneer, Solid Maple, Solid Maple with Oak Trim, Cherry Veneer, Solid Cherry et Solid Cherry with Maple Trim.
Pour faciliter la gestion de ces informations, vous pouvez introduire un paramètre intermédiaire afin de relier le tableau de cas aux paramètres booléens qui déterminent le sous-assemblage facultatif à inclure. Avec cette approche, la requête de l'utilisateur est capturée dans un paramètre d'entrée qui est évalué par un tableau de cas d'options valides. Les résultats, ou la sortie, du tableau de cas sont capturés dans un seul paramètre. Pour finir, la valeur de chaque booléen est déterminée par l'évaluation de ce paramètre intermédiaire.
Pour sélectionner une option parmi un ensemble d'options :
1. Créez un module configurable.
2. Attachez un article enfant pour chacune des options de finition appropriées.
3. Ajoutez au module configurable un paramètre d'entrée de type chaîne ; par exemple, askFinish.
◦ Définissez une valeur d'invite appropriée pour le paramètre de chaîne.
◦ Définissez une liste de contraintes pour le paramètre de chaîne avec les valeurs suivantes :
▪ Oak Veneer
▪ Solid Oak
▪ Solid Oak with Maple Trim
4. Définissez un paramètre non-entrée de type chaîne utilisé pour mettre en correspondance la réponse de l'utilisateur avec le sous-assemblage approprié ; par exemple, pickFinish. Ce paramètre joue le rôle d'intermédiaire entre le tableau de cas et les paramètres booléens.
5. Ajoutez au module configurable un paramètre non-entrée de type booléen pour chacune des options appropriées. Par exemple :
◦ useOakVeneer : pour représenter l'utilisation de la matière Oak Veneer
◦ useSolidOak : pour représenter l'utilisation de la matière Solid Oak
◦ useSolidOakMaple : pour représenter l'utilisation de la matière Solid Oak with Maple Trim
6. Ajoutez à chaque paramètre booléen une expression par défaut qui évalue le paramètre intermédiaire. Par exemple :
◦ pickFinish.equals(“OakVeneer”) : pour le booléen Oak Veneer
◦ pickFinish.equals(“SolidOak”) : pour le booléen Solid Oak
◦ pickFinish.equals(“SolidOakMaple”) : pour le booléen Solid Oak with Maple Trim
7. Ajoutez le paramètre booléen à Option d'inclusion de ce module configurable pour l'article enfant approprié pour chaque option, comme suit :
◦ useOakVeneer : pour le sous-assemblage de finition Oak Veneer
◦ useSolidOak : pour le sous-assemblage de finition Solid Oak
◦ useSolidOakMaple : pour le sous-assemblage de finition Solid Oak with Maple Trim
8. Définissez une contrainte de tableau de cas pour mapper les réponses de l'utilisateur sur la valeur correcte du paramètre intermédiaire. Prenons l'exemple de la contrainte de tableau de cas pickFinish.
askFinish
|
pickFinish
|
Oak Veneer
|
Oak Veneer
|
Solid Oak
|
Solid Oak
|
Solid Oak with Maple Trim
|
SolidOakMaple
|
Maple Veneer
|
Maple Veneer
|
Solid Maple
|
Solid Maple
|
Solid Maple with Oak Trim
|
SolidMapleOak
|
|
Pour que cette approche fonctionne correctement, toutes les valeurs de la colonne pickFinish du tableau de cas doivent être uniques.
|
Dans cette approche, une fois que l'utilisateur a sélectionné une valeur spécifique, telle qu'Oak Veneer, le tableau de cas attribue la valeur OakVeneer au paramètre pickFinish. Le paramètre booléen useOakVeneer évalue son expression par défaut {pickFinish.equals(“OakVeneer”)} comme étant vraie, et le sous-assemblage Oak Veneer est inclus dans la structure produit de variante.