Linea guida: Dipendenza da importazione nella progettazione
La Dipendenza da importazione è una relazione interna al pacchetto. Questa linea guida descrive questa relazione.
Relazioni
Elementi correlati
Descrizione principale

Spiegazione

La gestione delle dipendenze 'import' fra i pacchetti è un aspetto importante della strutturazione di un modello di oggetto. Un pacchetto dipende da un altro se una delle sue classi ha delle relazioni che portano a classi di un altro pacchetto. Per esprimere questo tipo di dipendenze si utilizza la dipendenza da importazione da un pacchetto al pacchetto da cui dipende.

Diagramma con le relazioni fra un componente ed un operatore, un segnale ed una stampante, un cliente ed un articolo di deposito.

Le dipendenze fra i pacchetti sono espresse da dipendenze di importazione.

Utilizzo

Le dipendenze da importazione di evolvono nel seguente modo:

  • Prima di iniziare ad utilizzare il modello di oggetto, creare delle strutture di dipendenze da utilizzare come linee guida durante il lavoro.
  • Quando il modello viene completato, utilizzarlo per visualizzare le dipendenze che vi sono presenti. Ciò comporta l'aggiornamento delle dipendenze da importazione nel modello oggetto.
  • Se prima il modello era stato suddiviso in pacchetti, utilizzare le dipendenze di importazione per visualizzare dove sono consentite le dipendenze.
  • Il modo in cui i pacchetti dipendono l'uno dall'altro influisce sulla tolleranza di un sistema alla modifica. Un modello oggetto sarà più semplice da modificare se:
  • Dall'esterno di ogni pacchetto si fa riferimento ad un numero minimo delle classi contenute. Se si fa riferimento a molte classi il pacchetto potrebbe avere troppe responsabilità diverse e dovrebbe essere suddiviso in due.
  • Si rende ogni pacchetto dipendente da pochi altri pacchetti.
  • Si testa separatamente ogni pacchetto. Questo significa che si deve essere in grado di testare un pacchetto simulando il pacchetto da cui dipende. Non richiedere che altri pacchetti siano implementati completamente o quasi completamente. Se si riesce a testare un pacchetto separatamente, lo sviluppo e la gestione di sistema di ogni pacchetto sarà più semplice.
  • Collocare le parti generali del modello oggetto in pacchetti separati da cui dipendono altri pacchetti. Se è presente un pacchetto del genere, fare molta attenzione a rilasciarne la gestione, poiché diverse parti del sistema potrebbero essere influenzate dalle modifiche al pacchetto.

Esempio

Si supponga di individuare qualcosa in comune per le classi Pannello cliente e Pannello operatore nella macchina per il riciclaggio. Assegnare questi servizi generali ad una nuova classe, Pannello, che si colloca in nuovo pacchetto Pannelli. Le altre due classi potrebbero fare riferimento a questa classe per utilizzare i servizi generali. Poiché le classi appartengono a due pacchetti separati, i due pacchetti dipenderanno dal nuovo pacchetto. Questa eliminazione di ridondanza comporta che le modifiche alla funzionalità comune devono essere apportate in un unico posto.