On Mon, 22 Nov 2010 10:13:43 +0100 Jean Couteau <couteau@codelutin.com> wrote:
Le 18/11/2010 18:36, Jean Couteau a écrit :
Bonne idée, mauvaise idée ?
Après les premiers essais, ça semble être une bonne idée mais :
nos DTOs doivent implanter leur interface qui étends BusinessEntity. WikittyBusinessEntity ?
BusinessEntity a une méthode qui retourne un Wikitty donc je doit importer Wikitty, qui doit importer FieldType et WikittyExtension (et CloneNotSupportedException, mais on peut gérer), qui doit importer...
Bref, on va encore se retrouver à importer la terre.
Donc soit en enlève la méthode
/** * Return wikitty * * @return the wikitty actually storing the entity's data * @since 2.2.1 */ public Wikitty getWikitty();
sur BusinessEntity,
soit on crée des interfaces pour FieldType et WikittyExtension (ça me semble pas trop propre et ça doit impliquer pas mal de changements).
D'autres idées, une préférence ?
Bah si vous faites des DTO, ils doivent complètement neutres et n'embarquer que des données et certainement pas un lien vers un wikitty. Pour moi un DTO c'est un simple pojo avec des propriétés simples. Dans le cas de wikitty, je ne sais pas exactement ce qu'il faut pour s'y retrouver... Des ids + des extensions ? si c'est ça c'est des string donc ca doit marcher. Si y'a des associations alors elles doivent être faites sur d'autres DTO et pas sur des entités. Cela paraît un peu dupliquer des objets pour rien mais c'est je pense une très bonne pratique pour séparer les couches. Pour faire remplir les DTOs y'a des librairies pour ça, dans Topia on a tenté de le faire nous même et on tombe vite sur des problèmes lors des transferts d'associations. Dozer semblait selon Benjamin bien coller au besoin, j'avais regardé et avait pris un peu peur, mais faudrait peut-être recreuser cette piste.
_______________________________________________ Wikitty-devel mailing list Wikitty-devel@list.nuiton.org http://list.nuiton.org/cgi-bin/mailman/listinfo/wikitty-devel
-- Tony Chemit -------------------- tél: +33 (0) 2 40 50 29 28 email: chemit@codelutin.com http://www.codelutin.com