Le 23/03/2010 11:18, Florian Desbois a écrit :
Le mardi 23 mars 2010 à 11:06 +0100, Eric Chatellier a écrit :
Le but est de faire ce genre de code : Account myAccount = new AccountImpl() [...] myAccount = accoutDAO.create(myAccount);
On pourrait avoir une methode "newInstance()" sur le DAO qui retourne une instance de "Impl" manipulable via son interface.
Je pense que c'est une meilleure solution. Ce n'est jamais bon d'instancier directement une entité. De plus c'est une méthode qui pourra facilement être étendu dans certains cas (valeurs par défaut, etc...). J'utilise pas mal le principe dans les services codés dans Wao et bientôt dans Pollen, une ou plusieurs méthodes getNewMyEntity pour instancier l'entité.
La méthode existait déjà, je l'ai rendu publique (avoir pour le non, c'est le meme que Class#newInstance()). Le code précédent deviendrait donc : Account myAccount = accoutDAO.newInstance(); [...] myAccount = accoutDAO.create(myAccount); -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com