Attualmente stiamo progettando un sistema in cui un utente può commentare su più argomenti. I soggetti possono essere un'immagine, un post, ecc. Un commento dovrebbe essere modificabile e cancellabile. Conterrebbe solo testo (per ora). Un commento può essere inserito solo se il soggetto lo consente. Nella prima mano, modellerei come segue:
| Comment (AR) |
| - Subject |
| - Text |
| Subject (VO) |
| - PictureID |
| - PostID |
Tuttavia, il problema è che il servizio commenti deve essere in grado di sapere se l'utente è autorizzato a commentare una determinata immagine o post (a seconda delle impostazioni sulla privacy, f.e). Quindi ha bisogno di conoscere le entità Soggetto. Anche la frase Un utente può commentare un post o una foto mi chiede se il commento debba essere un AR stesso. Questo non renderebbe il commento un aggregato degli aggregati di radici Picture e Post? In questo modo:
| Post (AR) |
| CommentIDs[] |
| ...
| Picture(AR) |
| CommentIDs[] |
| ...
| Comment (AR) |
| - Text |
Ma ora, inserendo i commenti all'interno di Post e Picture, si potrebbero far esplodere questi aggregati e creare enormi limiti di trx quando iniziano le grandi discussioni. Sono un po 'perso qui, e continuo a girare tra questi 2 modelli.