In alcune metodologie di progettazione, l'attore alla parte più a sinistra di un diagramma di sequenza è in realtà un'astrazione di un livello della GUI. Il nome dell'attore (cliente) è probabilmente preso da un caso d'uso, quindi possiamo risalire al requisito e comprendere il contesto. L'icona dell'attore aiuta anche a capire.
Ad esempio, in un'implementazione Java Swing della GUI, il messaggio makeAReservation()
verrebbe inviato da un metodo actionPerformed()
per un pulsante in una finestra di dialogo. Se l'applicazione era basata sul web, potrebbe essere una chiamata REST o un post di una pagina o di un javascript. Si potrebbe anche avere il riconoscimento vocale (come Siri) inviare il makeAReservation()
una volta che riconosce la serie corretta di comandi vocali.
Ma l'aggiunta di tutti questi dettagli al diagramma lo rende più complesso. Sappiamo tutti che le GUI cambiano molto, quindi mantenetelo astratto. Pensala come la parte blu nel diagramma qui sotto:
Lasciandolo come una classe di attore si ha la flessibilità di progettare il livello di presentazione (ovvero la GUI) e si può supportare più di uno stile di presentazione.
Quindi, la risposta breve è no, il cliente non è una classe nel contesto di questo diagramma. Ciò non vuol dire, tuttavia, non si avrà una classe Customer (come una classe di dominio).