Supponiamo che io abbia una situazione in cui sto progettando un sito Web per un rivenditore di scarpe. Hanno diversi marchi e tipi di scarpe e, naturalmente, vogliono una funzione di ricerca davvero buona.
Quindi ci sono diverse proprietà che le scarpe possono avere. Possono avere proprietà esclusive, come dimensioni, larghezza, sesso e bambini / adulti. Oppure possono avere proprietà non esclusive come il colore (potrebbero esserci due o più colori su una scarpa). Alcune categorie potrebbero essere in conflitto con altre, come 'dress' e 'casual' (una scarpa non può essere sia una scarpa elegante che una sneaker (ignorando le scarpe eleganti "comfort" per questo esempio)), mentre non sono ancora in conflitto altri, come "vestito" e "stivale" (una scarpa può essere uno stivale elegante). Le proprietà esclusive sono facili da modellare, ma che ne dici di proprietà potenzialmente in conflitto? Questo sarebbe un problema per la teoria degli insiemi?
Come si chiamerebbe questo tipo di informatica applicata, in generale? Modellazione dei dati o qualcosa di più specifico? Voglio entrare nei principi filosofici più astratti, come le proprietà esclusive e non esclusive, e vedere come questi principi sono implementati in codice, strutture di dati e schemi di database.
Un buon esempio di ciò di cui sto parlando sarebbe l' algoritmo di attraversamento dell'albero preordine modificato . È un ottimo modo per creare un sistema di categorizzazione gerarchica nidificato. Quindi hai un problema organizzativo nella vita reale: le categorie e poi hai una struttura di dati che modella quel problema.
Dove posso saperne di più su questo tipo di cose?