Non
Le but c'est de modéliser n'importe quel objet qui aurait n'importe quel nombre d'attribut plutôt que de modéliser directement ton objet toto avec les attributs a, b, c, d
Quelque chose du type
Code:
public class ObjetVariable {
private List<Attribut> attributs;
public Attribut getAttribut(String nom)
{
// Retourne l'attribut avec le nom
}
public void addAttribut(String nom)
{
// Ajoute dans la liste un nouvel attribut avec le nom précisé
}
}
public class Attribut {
private String nom;
private String valeur;
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getValeur() {
return valeur;
}
public void setValeur(String valeur) {
this.valeur = valeur;
}
}
Du coup au lieu de faire
Code:
objet.setA(...);
objet.setB(...);
objet.setC(...);
tu fais
Code:
objet.setAttribut("a", ...);
objet.setAttribut("b", ...);
objet.setAttribut("c", ...);
Et tu conserve en base une liste d'attributs pour un objet variable (ou une map si tu préfères
C'est une solution plus générique qui t'évite d'avoir à changer la représentation de ton objet lorsque tu ajoutes un attribut (c'est juste un ajout d'un élément dans une liste d'attributs).
En espérant avoir été plus clair