Le mie note del corso hanno dichiarato che un sistema dovrebbe avere una classe di sistema che coordina il comportamento di tutti gli altri oggetti nel sistema e dovrebbe essere uno istanziato una sola volta.
In molti esempi di vita reale riscontrati come una biblioteca o un hotel, è chiaro che la classe Library o Hotel sarebbe la classe di sistema. Nel mio sistema tuttavia non esiste un candidato chiaro in quanto tutte le classi che attualmente ho nel mio diagramma di classe potrebbero essere istanziate più volte.
Per contesto il sistema su cui sto lavorando può essere analogo a un sito web come link dove un utente può accedere, creare un nuovo crea un progetto, quindi seleziona le parti del PC per quella build. Ho modellato le seguenti classi con giustificazione tra parentesi:
- Utente (i dettagli dell'utente devono essere nel sistema)
- Build (è un contenitore per le parti del pc)
- PcPart (ci saranno molte parti del pc in una build)
Chiaramente il sistema può avere un numero qualsiasi di utenti, che possono creare un numero qualsiasi di build, che può contenere più parti del PC.
Quindi, con la definizione di una classe di sistema, nessuno di questi è un buon candidato.
Come definirei la classe di sistema in questo caso?