Mi cursada - UNQ‎ > ‎Clases‎ > ‎Bitácoras‎ > ‎Bitácora 2s 2013‎ > ‎

Clase 2

publicado a la‎(s)‎ 28 ago. 2013 13:31 por gisela decuzzi   [ actualizado el 29 ago. 2013 6:02 ]
Primer entrega del tp:
04/09 La semana que viene!!! No se duerman!
La entrega incluye:
  • Dominio
  • Tests
  • Tag en el proyecto del dominio
  • Otro proyecto para la vista creado con las dependencias a Arena  
Software:
  • Revisamos el entorno:
    • Plugins:
      • SVN
      • Maven
    • Desde el MarketPlace: Maven integration for eclipse WTP (Juno)
      • Si no vemos la opcion de market place entonces es porque tenemos otro eclipse y no el JEE que necesitamos
  • Pueden bajar los ejemplos que vemos en clase de: https://xp-dev.com/svn/uqbar
Clase:
  • Empezamos con nuestro ejemplo estrella del Conversor.
  • Mencionamos los elementos que veiamos en la ventana: textbox, boton, titulo, label, un panel que contiene todo, la ventana 
  • Hablamos de como se relacionan y lo relacionamos con los patrones que ya conocemos. Mencionamos que el panel es un composite, que los botones usan listeners, que las propiedades son observadas ...
  • Repasamos lo que significa el Modelo y lo relacionamos con el ejemplo del conversor.
  • Vimos varios ejemplos de implementaciones: SWT, Arena
  • Notamos algunas cosas en los ejemplos y discutimos sobre: 
    • mezcla de lógica
    • comunicación entre componentes
    • algunas validaciones
    • organización del código
    • ...
  • Nos detuvimos en arena y hablamos de:
    • Widgets como Button, TextBox, Label, Panel
    • Controllers como MessageSend
    • Binding sobre properties del modelo
    • Comparamos el codigo swt con la misma funcionalidad en Arena y observamos algunas cosas:
      • En Arena no definimos codigo para hacer conversiones del string que tiene el TextBox al double que usa el modelo
        • Hablamos brevemente de como se define un Adapter para el caso de conversiones mas complejas
      • En Arena tenemos bindings bidireccionales
      • Hablamos de los problemas de que muchos de los componentes que vimos, en especial en Java reciben strings que se linkean literalmente con propiedades o mensajes del modelo. Los strings no tienen información de su contexto por lo que si tipeamos mal o si renombramos y el string no coincide nada funciona y no nos damos cuenta hasta que estamos ejecutando
  • Después de mucho analizar hablamos de MVC, como patrón y de lo abstracto que es
    • La mayoria de los frameworks dicen ser MVC
    • Siempre tenemos que leer la letra chica e interiorizarnos en la interpretacion que tienen los que implementaron el framework
  • Exploramos alternativas al conversor
    • Sacamos el boton "Convertir a Kilometros" e hicimos que mientras tipeabamos las millas convirtiera solo a kilometros
    • Cambiamos el modelo, podemos convertir de millas a kilometros y de kilometros a millas.
    • Vimos una implementacion del conversor en Xtend
    • Pensamos en un conversor super genérico: queremos convertir de una unidad a otra
Algunas cosas que dijimos durante la clase:
Apuntes dentro del site que son de utilidad para leer en mas detalle:
Comments