Quindi vorrei modellare il diagramma delle classi per il seguente scenario:
-
il client deve gestire tre tipi di account (Pocket, Postbank, DKB). Altri tipi di account possono essere aggiunti in seguito.
-
il cliente registra i movimenti (spese e entrate). Questi movimenti sono ciò che definisce lo stato di ogni account
-
Mentre le entrate sono piuttosto elementari (c'è solo bisogno di registrarsi per quale account è stato fatto), le spese devono essere ordinate a seconda della loro natura (tempo libero, cibo, trasporti, generale) Altri tipi di spese possono essere aggiunto in seguito.
Per questi requisiti sono arrivato con questa modellazione:
-
Istanza Singleton per "movementFactory". Sarà esteso da due tipi di creatori: entrate e uscite.
-
Il creatore delle spese verrà implementato in classi concrete in base al tipo di spesa che verrà creata.
I miei dubbi arrivano quando cerco di capire se avere due "metodi di produzione" per il "percorso di spesa" è in qualche modo eccessivo e se la classe SingletonMovementProducer
è una buona pratica in questo caso o come potrei modellare lo scenario dato.