Sì, le Chiavi sono il nome o l'identificativo di ciascuna proprietà.
Puoi aggiungere un metodo changeValue
.
Questo modello è anche noto come Dynamic Object Design Pattern
.
Esempio (Pseudocodice):
void Example()
{
KeyValueList MyControl = new KeyValueList();
MyControl->put("id", "MyControl");
MyControl->put("x", 34);
MyControl->put("y", 125);
MyControl->put("height", 200);
MyControl->put("width", 250);
MyControl->put("filled", false);
MyWindow->insertControl(MyControl);
} // void Example()
Come puoi controllare nell'esempio precedente, è comune usare un elenco che memorizza elementi chiave, dove le chiavi sono di string
tipi e non possono essere duplicati. I valori possono essere memorizzati come un tipo specifico per ogni valore, come integer
o logical
.
Oppure può essere utilizzato come string
, simile a H.T.M.L. o X.M.L. attributi, come questo esempio:
Esempio (Pseudocodice):
void Example()
{
KeyValueList MyControl = new KeyValueList();
MyControl->put("id", "MyControl");
MyControl->put("x", "34");
MyControl->put("y", "125");
MyControl->put("height", "200");
MyControl->put("width", "250");
MyControl->put("filled", "false");
MyWindow->insertControl(MyControl);
} // void Example()
Entrambi i casi sono facoltativi.
L'esempio è generico, identificatori e tipi, può cambiare dalla libreria o dal linguaggio di programmazione.
Questo modello di progettazione è comunemente usato nei linguaggi di programmazione che non sono orientati agli oggetti, (come "funzionale" o "procedurale"), per emulare oggetti.
Viene anche utilizzato in linguaggi di programmazione che sono già orientati agli oggetti, ma le proprietà sono progettate staticamente e non possono essere aggiunte o rimosse durante l'esecuzione.
Saluti.