mirror of
https://github.com/Steffo99/alexandria.git
synced 2024-11-21 21:34:19 +00:00
23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Classificazione delle gerarchie
|
|
|
|
Nello schema scheletro di Alexandria compaiono **due gerarchie IsA**, rappresentate da frecce continue blu.
|
|
|
|
## Gerarchia degli `Elementi`
|
|
|
|
![](img/3-2-gerarchie/gerarchia-1.png)
|
|
|
|
Il tipo di dato alla base di Alexandria è l'`Elemento`.
|
|
|
|
Un `Elemento` rappresenta una aggiunta da parte di un utente alla propria libreria di un libro, film o videogioco.
|
|
|
|
Nella [descrizione](1-descrizione.md) si specifica che tutti gli `Elementi` devono avere uno _stato_ e una _provenienza_ specifici al tipo di `Elemento`; è quindi necessaria la distinzione dei vari tipi di `Elemento` e creando così una gerarchia **esclusiva** (un `Elemento` non può essere sia un libro sia un film allo stesso tempo).
|
|
|
|
Si è deciso di rendere **non totale** la gerarchia in modo da permettere l'introduzione di nuovi tipi di `Elementi` in futuro.
|
|
|
|
## Gerarchia delle `Edizioni`
|
|
|
|
![](img/3-2-gerarchie/gerarchia-2.png)
|
|
|
|
La [descrizione](1-descrizione.md) prevede che le `Edizioni` dei libri e degli audiolibri abbiano attributi diversi: i libri hanno il _numero di pagine_ e l'immagine della loro _copertina_, mentre gli audiolibri hanno la _durata_ e la _cover art_ ad essi associata.
|
|
|
|
Si viene a creare così una gerarchia **totale** (un'Edizione è o libro o audiolibro) ed **esclusiva** (una edizione non può essere sia libro sia audiolibro).
|