Sto progettando un'applicazione bancaria che si occupa di clienti con account FD.
Ci sono due approcci:
Approccio 1
In questo il cliente ha un elenco di account. L'applicazione bancaria gestirà i conti attraverso i clienti.
Il mio mentore ritiene che questo sia l'approccio corretto. :-P
class Customer
{
String name;
Date dob;
.
.
Account[] accounts = new Account[5];
}
class Account
{
int accNo;
float amount;
.
.
}
Approccio 2
In questo approccio ogni account ha il suo riferimento cliente associato memorizzato. L'applicazione Bank gestirà ora account e clienti in modo indipendente.
Ritengo che questo sia l'approccio corretto. : -)
class Customer
{
String name;
Date dob;
.
.
}
class Account
{
Customer customer;
int accNo;
float amount;
.
.
}
Ora i miei problemi sono:
- Idealmente l'applicazione bancaria dovrebbe preoccuparsi di più dell'account rispetto al cliente. Ad esempio, la banca dovrebbe avere metodi come addAccount () : che aggiungerà account e creerà un cliente implicitamente se è il primo account del cliente e deleteAccount () : che eliminerà l'account ed eliminerà implicitamente il cliente se si tratta dell'ultimo account.
- Ci può essere un caso d'uso in futuro in cui un account può avere più clienti. In modo che possa essere sistemato facilmente nel secondo approccio rispetto al primo.
Considerando tutto questo, per favore puoi dire quale è un migliore approccio orientato agli oggetti qui?
Inoltre, come viene effettivamente implementato in una banca reale?