Dettagli dei modelli da applicare

L'esempio dei modelli da applicare è una serie di 8 diversi modelli. Molti di essi sono simili nei nomi e nelle funzioni ai modelli standard industriali.* Alcuni modelli sono utilizzati da altri modelli più complessi e sono detti micromodelli.

Modello di implementazione

(Due parametri, una dipendenza da parametro, un micromodello)

Il modello di implementazione è un modello primitivo autonomo che non utilizza alcun altro modello. Questo è un modello molto semplice che garantisce che una relazione di implementazione UML sia presente da un argomento di implementazione a un argomento di interfaccia.

Modello di interfaccia

(Due parametri, una dipendenza da parametro, un modello di riutilizzo)

Il modello di interfaccia è un modello che viene riutilizzato da altri modelli di esempio e riutilizza esso stesso un modello nella sua implementazione. Il modello di implementazione è un modello primitivo (detto anche micromodello) ed è utilizzato dal modello di interfaccia per verificare che l'argomento di implementazione implementi gli argomenti dell'interfaccia. Il modello di interfaccia ha due parametri, uno che rappresenta l'interfaccia e uno che rappresenta l'implementazione. Esso include un esempio di associazione di delegati di base che utilizza gli utilizzi di definizione di modello e i delegati di dipendenza dei modelli. Questo è un modello con una funzionalità di base citato anche in altre parti della documentazione sui modelli. Tale modello mostra inoltre la combinazione dell'utilizzo sia dei delegati di modello che del codice personalizzato per implementare i metodi di aggiornamento delle dipendenze di un modello. Il modello di implementazione viene riutilizzato in modo da assicurare la relazione di implementazione e quindi il codice del metodo di aggiornamento personalizzato viene utilizzato per verificare che l'implementazione esegua tutte le operazioni definite sugli argomenti dell'interfaccia.

Modello dell'elenco di parole chiave

(Due parametri, una dipendenza da parametro, un micromodello)

Il modello dell'elenco di parole chiave è un modello primitivo autonomo che non utilizza alcun altro modello. Esso dimostra l'uso di una stringa letterale UML e di un metatipo UML astratto come un tipo di parametro. Questo modello include inoltre la funzionalità per verificare correttamente che le sintassi dei modelli come argomenti non siano associate e che le istanze dei modelli non siano applicate. È possibile creare un'istanza per il modello dell'elenco di parole chiave dalla vista Esplora modello sulla destra, ma è preferibile che tale modello sia riutilizzato da altri modelli mediante il meccanismo di delegazione dei modelli.

Modello di associazione indirizzato

(Sei parametri, cinque dipendenze da parametro, un micromodello)

Il modello di associazione indirizzato è un altro modello primitivo autonomo, un micromodello utilizzato da altri modelli più complessi. Il modello di associazione indirizzato ha due parametri primari che impostano il contesto per una associazione indirizzata. Esso ha altri cinque parametri secondari che consentono di definire l'associazione configurando il tipo di associazione, i nomi dei ruoli e le molteplicità. Questo modello viene riutilizzato dal modello di delega di esempio ed è un esempio di modello che include un numero molto inferiore di tipi di parametri comuni. Le stringhe letterali, gli interi e le numerazioni di modelli sono utilizzati nella definizione di questo modello. Il codice del modello presente in questo esempio per gestire i letterali e le numerazione non è valutabile per i creatori di modelli per la creazione di modelli che hanno tipi di parametri simili.

Modello di delega

(Due parametri, una dipendenza da parametro, tre modelli di riutilizzo)

Il modello di delega ha due parametri: uno che rappresenta colui che delega e uno che rappresenta il delegato. L'utente che delega delega appunto le operazioni definite nell'interfaccia di delega e implementate su un'istanza del tipo di delegato. Questo modello dimostra l'uso di filtri di associazione di delegati per personalizzare il nome delle parole chiave associate alle istanze di riutilizzo del modello dell'elenco di parole chiave. Questa personalizzazione del nome non è richiesta per fornire un'implementazione utile del modello di delega, ma è stata aggiunta a questo esempio per dimostrare l'uso dei filtri.

Modello di strategia

(Tre parametri, due dipendenze da parametro, due modelli di riutilizzo)

Il modello di strategia si basa sul modello di strategia noto. Esso riutilizza i modelli di esempio dell'interfaccia e dell'elenco di parole chiave e contiene un esempio di associazione di delegato di parametri. Esso ha tre parametri, uno per rappresentare l'interfaccia della strategia, uno per rappresentare la strategia completa e uno per rappresentare il contesto della strategia stessa. Per dimostrare il riutilizzo del modello dell'elenco di parole chiave, il modello verifica che la parola chiave <<Strategy>> sia presente sull'argomento del parametro dell'interfaccia della strategia. Il modello dell'interfaccia viene riutilizzato per garantire che l'interfaccia di strategia sia implementata dagli argomenti collegati del parametro della strategia completa.

Modello singleton

(Zero parametri)

Il modello singleton si basa sul modello singleton noto. E' un esempio di un modello senza parametro. Esso ha un parametro implicito che può essere considerato esso stesso un'istanza di modello. Questo modello rappresenta le istanze di modello come classi invece che come la rappresentazione tipica, ovvero le collaborazioni. Un uso funzionale di questo modello consiste nel trascinarlo dalla vista Esplora modelli su una classe (che è necessario verificare sia un singleton). Il trascinamento di questo modello sulla superficie del diagramma (in un pacchetto) restituisce una nuova istanza singleton e, pertanto, implica la creazione di una nuova classe per rappresentare l'istanza.

Modello factory astratto

(Cinque parametri, cinque dipendenze da parametro, un modello di riutilizzo)

Il modello factory astratto si basa sul modello factory astratto noto. Esso riutilizza il modello di interfaccia e, pertanto, dimostra i delegati di dipendenza nel corso della delega del funzionamento al modello di interfaccia. Esso è un'implementazione degenerata del modello factory astratto nel senso che tutti i prodotti concreti implementano tutte le interfacce del prodotto astratto collegate. Tale modello esemplifica l'uso delle dipendenze di parametri per mantenere una sintassi di modello coerente quando altri argomenti vengono collegati al modello. Proprio come il modello singleton utilizza un elemento diverso dalle collaborazioni per rappresentare le istanze del modello, questo modello utilizza i pacchetti. Le istanze di questo modello sono pacchetti.

* Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides (Addison-Wesley, 1995) copyright (c) 1995 di Addison-Wesley Publishing Company, Inc. Tutti i diritti riservati.

Argomento principale: Modelli da applicare

Feedback