P - Modularità Flashcards
Quando un programma si definisce modulare?
Quando è scomposto in sottoproblemi e la scomposizione si vede sia a livello di algoritmo che di strutture dati.
Quando una struttura dati si dice modulare?
Quando è divisa in parti e a ognuna sono associate delle funzioni.
Quando un dato si dice modulare?
Quando è un dato che ha le relative funzioni associate.
Definire la composizione stretta con possesso e l’aggregazione senza possesso. Vantaggi e svantaggi.
- composizione stretta con possesso: A include B per valore oppure A include un riferimento a B e, anche se B è esterno ad A, viene considerato proprietà di A. Se A possiede B ha anche la responsabilità di crearlo e distruggerlo.
I vantaggi sono: ogni tipo di dato è un’entità a sé stante fatta di più componenti autosufficienti e riutilizzabili + il dato ad alto livello coordina quelli sotto + le modifiche su quelli sotto sono invisibili a quelli superiori - aggregazione senza possesso: A include un riferimento a B che è esterno e non è considerato proprietà di A.
Ci si può riferire al dato esterno tramite puntatore o indice nel caso di un vettore.
Definizione di struttura contenitore.
involucro che contiene oggetti omogenei che si possono aggiungere o rimuovere. Le struct non sono involucri; i vettori lo sono se sono allocati dinamicamente e se hanno dimensione uguale alla capienza massima del contenitore