Nous sommes un couple d'étudiants qui tentent d'implémenter un design pour rechercher des informations client dans une base de données. Lorsque la classe GUI demande un client avec le nom de famille "Jensen", une classe de clients crée-t-elle alors de nombreux objets pour chaque client avec ce nom, donne tous ces objets à la classe GUI, laisse la classe GUI changer quelque chose ou ajouter quelque chose, puis utilisez une méthode dans la classe client pour le mettre à jour dans la base de données?J'ai besoin de chercher un "client" dans un db, ce qui serait un bon design ici?
Customer class:
Surname
Email
getSurname()
setSurname()
static List getCustomerFromDb(surname, email):
Customer customer = new Customer()
customer.setSurname(surname from db)
..
..
return listOfCustomers
updateThisCustomerInDb():
//updates all fields in db
Notre application est maintenant que nous envoyons un ResultSet à l'interface graphique de classe à partir d'une méthode statique dans le client à la recherche de clients .. Et si l'interface graphique de classe veulent changer un champ comme le courrier électronique dans le client , il envoie un HasMap avec les clés et les valeurs à changer.
N'est-il pas mauvais de créer 300 objets clients et de n'en avoir besoin que d'un seul? La raison pour laquelle nous demandons de l'aide, c'est que nous avons entendu dire que c'est une mauvaise conception OO de ne pas mettre à jour, modifier, trouver (dans la base de données) des clients utilisant des objets, mais en utilisant ResultSets et HasMaps.
Merci =)
Je ne sais pas ce que vous faites, mais vous devriez avoir une colonne d'identité sur les clients. Cela simplifiera votre code, et généralement une bonne pratique. – Kobi
Je l'ai dans la base de données. Mais quelqu'un qui utilise l'interface graphique et demande un client avec le nom de famille "jensen" ne connaîtrait pas cette identification ..? J'ai besoin de trouver tous les clients avec ce nom de famille .. Comment donner à la classe GUI tous ces clients? Avec un ResultSet ou une liste d'objets? Pourquoi donner 300 objets alors que seulement 1 est nécessaire, est-ce mauvais pour la mémoire? – Johannes
Votre extrait de code me trouble un peu. J'ai l'impression à partir du texte que getCustomerFromDb renvoie un ResultSet, mais le code renvoie List. – Buhb