Rappresentare i gestori nei diagrammi UML

1

Questa domanda è un follow-up di Rappresentare più azioni per la sequenza di oggetti sul diagramma di attività , ma non è strettamente correlato. La domanda si riduce a:

Come presentare modelli UML che si comportano in modo diverso a seconda della configurazione della rete di gestori.

Nel caso più semplice ho il seguente:

<cfg>
    <handler id="1" />
    <handler id="2" />
</cfg>

Ciò significa che durante l'esecuzione i dati verranno passati prima a handler-1 e quindi a handler-2 . Ma la configurazione può essere modificata in modo che il flusso sia handler-2 e quindi handler-1 , o anche handler-2 , handler- 1 , gestore-1 , gestore-2 .

E se gli handler possono essere composti / combinati? Posso facilmente creare diagrammi di classe per tali shenanigans, ma i diagrammi di attività o di sequenza sono completamente oltre me.

    
posta Jędrzej Dudkiewicz 13.03.2018 - 18:39
fonte

1 risposta

1

Non penso che ci sia una risposta generale alla tua domanda. Devi prendere i casi uno per uno, poiché il diavolo si trova nei dettagli.

This means that during execution data will be passed first to handler-1 and then to handler-2.

Non è chiaro al 100% cosa intendi, ma ti mostrerò due modi per mostrarlo in UML con un diagramma di sequenza:

Butconfigurationcanbechangedsothatflowishandler-2andthenhandler-1,orevenhandler-2,handler-1,handler-1,handler-2.

Puoiusarelastessanotazionedicuisoprapermostrareognicaso.

Andwhatifhandlerscanbecomposed/combined?

Ancoraunavolta,idiagrammidisequenzasonopiuttostoespliciti,quindideviesserepreciso.Unmodopermostrarelechiamategeneralidiunmetodoall'internodiunelencodielementièilseguente:

Comehaidetto,inUMLpotresti(dovresti)completarequestoconlastrutturastaticadell'aggregato(composizione)deigestoriconundiagrammadiclasse.

Sel'attraversamentodellastrutturacompositaècomplesso(cioè,nonsolounasemplicelistaoiterazionediunalbero),puoidisegnarloconundiagrammadiattività.

PotresticontrollareidiagrammiUMLperil modello Chain of Responsibility , poiché questo è legato alla tua domanda.

    
risposta data 15.03.2018 - 16:05
fonte

Leggi altre domande sui tag