Qual è la relazione "registrata" in un diagramma di classe? [chiuso]

1

Composite aggregates Part, Container contains Content, and Recorder records. Recorded are all very common relationships between classes in a class diagram. Creator suggests that the enclosing container or recorder class is a good candidate for the responsibility of creating the thing contained or recorded. Of course, this is only a guideline.

Dal libro: link

Che cos'è questo registratore? Qualsiasi esempio sarebbe apprezzato.

    
posta q126y 12.12.2015 - 15:31
fonte

2 risposte

3

Non sono esperto in la metodologia di progettazione orientata agli oggetti GRASP , ma io leggi l'articolo di Wikipedia e alcuni mazzi di diapositive ( 1 , 2 ) sull'approccio. Questa è la mia comprensione.

Uno dei "pattern" in GRASP è il Pattern Creatore. Questo non è un modello di design nel senso dei Gang of Four patterns o dei Patterns of Enterprise Architecture di Fowler e così via. È più un principio o un modello. GRASP si concentra su come si determinano le responsabilità di una particolare classe nel proprio sistema orientato agli oggetti.

Una classe che è un Creatore significa che costruisce istanze di altre classi. Ci sono diversi contesti per la creazione. In una composizione o una relazione di aggregazione, il genitore può essere responsabile della creazione delle parti. Nelle classi che registrano i dati, la classe che registra i dati (ad esempio, la lettura dei dati da file o dall'input dell'utente o dai database) può essere responsabile della creazione di elementi del dominio.

Ciò che questo paragrafo citato sta dicendo è che, per quanto ne sappia, se hai una classe che contiene elementi o dati di record, allora puoi considerare di avere quella classe di creare gli oggetti che rappresentano i suoi elementi o dati che sono registrati.

Si noti che questa è solo una guida, però. Qualcosa da considerare quando si lavora attraverso il tuo design. Non è una regola che deve essere sempre applicata.

    
risposta data 13.12.2015 - 18:14
fonte
2

Penso che ci sia una grammatica scadente e una punteggiatura errata in corso qui. La mia ipotesi migliore è che dovrebbe leggere come segue:

The following [generic examples] are all very common relationships between classes in a class diagram:

  • Composite aggregates Part
  • Container contains Content
  • Recorder records Recorded

[The] creator [some person introduced before this quotation] suggests that the enclosing Container or Recorder class is a good candidate for the responsibility of creating the thing contained or recorded [the Content and Recorded classes respectively, in the above examples]. Of course, this is only a guideline.

Il testo tra parentesi quadre è una mia supposizione, il resto è semplicemente riarrangiato e differentemente punteggiato.

Se la mia ipotesi è corretta, il Registratore è semplicemente un esempio generico e non particolarmente significativo di una classe che potrebbe avere qualche relazione con un'altra classe.

Altri esempi tangibili e reali potrebbero essere:

  • Company utilizza Employee
  • Doctor tratta Patient
  • Shipment contiene Order Item

Se il testo avesse usato questi esempi, probabilmente non avresti chiesto il significato o il significato del termine Dottore!

    
risposta data 15.12.2015 - 00:50
fonte

Leggi altre domande sui tag