Sto creando un diagramma di classe per quello che pensavo fosse un problema abbastanza semplice. Tuttavia, quando arrivo alla fine della gerarchia, tutte le classi contengono solo un campo ed è lo stesso.
Questo aspetto mi sembra molto sbagliato, ma questo campo non appartiene a nessuna delle classi genitore. Mi stavo chiedendo se ci sono degli schemi di progettazione suggeriti in una situazione come questa?
Di seguito è riportata una versione semplificata del diagramma delle classi.
Nota, i campi con nomi diversi non possono appartenere a nessun'altra classe
+------------------+
| NoteMapping |
|------------------|
| String noteId |
| String content |
| |
+---------+--------+
|
+---------------+----------------+
| |
+--------|--------+ +--------|--------+
| UserNote | | AdminNote |
|-----------------| |-----------------|
| String userId | | String adminId |
| | | |
+--------+--------+ +--------+--------+
| |
| |
+--------|--------+ +--------|--------+
| UserBookNote | | AdminBookNote |
|-----------------| |-----------------|
| String bookId | | String bookId |
| | | |
+-----------------+ +-----------------+
Tabelle ASCII disegnate usando link
Modifica
Ho aggiunto alcuni nomi di classi e campi al diagramma delle classi sopra.
Il motivo bookId
non può esistere in nessuna delle classi genitore è perché è usato per creare una relazione OneToOne
con un'altra classe - che non è qualcosa che vogliamo sempre fare.