Domanda

Ho creato un oggetto immediato in OCaml.

let x = 
object (self)
val dataMember = 3
method aMethod = print_endline "Called a method"
end;;

Poiché l'oggetto non ha un nome (è considerato anonimo?), come può essere correttamente rappresentato in UML?

Grazie.

È stato utile?

Soluzione

Potresti dargli un nonce-name o qualche altro valore di formula. & Quot; correttamente " in questo contesto significa davvero qualcosa che sarà chiaro. Non esiste una "risposta corretta" trasmesso dall'International UML Standards Body o altro.

Se vuoi una risposta più concreta, perché non chiamarla come Anonymous_foo_mungler dove " foo_mungler " viene sostituito con il nome descrittivo che gli avresti assegnato se non fosse anonimo.

Altri suggerimenti

Ecco cosa ho trovato. Vorrei solo seguire l'immagine qui sotto (se puoi), ma prima una discussione. Denominare qualcosa in UML non significa che non può essere anonimo nell'implementazione. Faccio di più con quello mostrandolo " dentro " l'altra classe come difficile, quindi la riga di inclusione pacchetto / componente che viene utilizzata di seguito. Puoi anche utilizzare una connessione istantanea per mostrare ciò che stai cercando. È inoltre possibile utilizzare i componenti poiché consentono l'inclusione. Alla fine, però, sono lacerato dal motivo per cui potresti modellare una classe anonima in quanto non fa parte della struttura in quanto non la fai mai riferimento al di fuori della classe (IN GENERALE), ma piuttosto il comportamento. Quindi perché istanze e proprietà consentono elementi anonimi. Se inizi a modellare LISP ecc, questa domanda diventa davvero divertente.

Aggiornato per UML 2.0: Esempio di classe anonima
(fonte: informit.com )

Nota che è la figura 3.22 e che l'autore dice "stereotipo" che non è corretto in quanto non fa parte del linguaggio quindi è una parola chiave, il che significa che non fa parte del modello formale, nessuna vecchia stringa. Non tutti gli strumenti supportano la notazione, ma RSA / RSM lo fa con mia sorpresa e usa qualcosa di simile alla notazione.

Pagina di origine - http://www.informit.com/ ? articoli / article.aspx p = 336.264 & amp; seqNum = 3

Dallo stesso UML:

Per le proprietà - Un simbolo di proprietà può essere mostrato contenente un solo nome (senza i due punti) nella sua stringa di nome. Ciò implica la definizione di una classe con nome anonimo nidificata nello spazio dei nomi della classe contenente. La parte ha questa classe anonima come tipo. Ogni occorrenza di una classe anonima è diversa da qualsiasi altra occorrenza. La classe definita in modo anonimo ha le proprietà specificate con il simbolo della parte. È consentito mostrare scomparti che definiscono gli attributi e le operazioni della classe con nome anonimo.

Per le istanze - (i nomi sono opzionali per le istanze) La notazione standard per una specifica di istanza anonima di un classificatore senza nome è i due punti sottolineati (& # 8216;: & # 8217;). Se una specifica di istanza ha una specifica di valore come specifica, la specifica di valore viene mostrata dopo un segno uguale (& # 8220; = & # 8221;) che segue il nome o senza un segno uguale sotto il nome. Se la specifica dell'istanza viene mostrata utilizzando una forma che racchiude (come un rettangolo) che contiene il nome, la specifica del valore viene mostrata all'interno della forma che racchiude.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top