Buenas Vicente, estoy de vuelta...se que ha pasado bastante tiempo...pero estoy haciendo un esfuerzo grande para retomar el tema de Donate... Voy a echarle un vistazo a estos comentarios para ver el camino que debe seguir donate... Cualquier consideración adicional no dudes en comentarmela... Un saludo, El 14 de julio de 2011 16:25, Vicente J. Ruiz Jurado <[email protected]>escribió:
El 01/07/11 03:06, Esteban Carreras Genis escribió:
Gracias Vicente, era exactamente lo que buscaba.
He subido una versión con el i18n completo, desglosado en algún widget más, con menos código y más personalizable (aunque a esto último tengo que darle un vuelta grande, que al final se me ha ido la cabeza un poco)...
Un saludo,
Hola Esteban:
Perdona por el retraso en responder.
Pues la verdad que veo que has avanzando bastante y que lo vas limando bastante. Muy bien. Tener clases pequeñitas, fáciles de entender y que no tengas que scrollear o casi es buena señal (compara con el principio).
Lo de personalizar, quizás es algo que le debemos dar una pensada juntos, es decir, pensar en las necesidades (que cada proyecto pueda activar una zona de "donaciones") y ver como implementarlo. Me he perdido con la parte de DonateConstants, quizás con un String static te hubiese bastado ¿no?
Mira, luego otra cosa interesante ya que estás poniéndote las botas con los patrones es que empieces en algún momento a pensar e implementar usando el MVC: https://secure.wikimedia.org/wikipedia/es/wiki/Modelo_Vista_Controlador
Si te fijas en ButtonsPanel hay lógica y al ser un Panel lo suyo sería que solo tuviese cosas de UI, y lo mínimo mínimo. Es decir, donde va cada cosa, como cambiarle valores y poco más. Incluso los handlers se pueden sacar al controlador:
http://www.nieleyde.org/SkywayBlog/post.htm?postid=e49efd5b-31c8-423f-9fff-9...
Esto entre otras cosas lo que te hace es que tengas todo lo complicado, la lógica, bien delimitada en una clase, y que la puedas probar bien (con JUnit y similares), etc. Probar programáticamente el Widget (con el Panel) es más coñazo y cuesta mucho hacerlo (a veces tienes incluso que arrancar un navegador o un emulador). No se si me explico.
Así que te invito si quieres a quitar toda la lógica de ButtonsPanel y a que a tu nuevo ButtonsPresenter, le añadas tests con Junit para estar seguro de que hace lo que tiene que hacer.
En cualquier caso, muy bien Esteban,
-- Vicente
-- Esteban Carreras Genis