Está en la página 1de 5

Patrn de diseo Los patrones de diseo son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.

[Microsoft] Un patrn es una solucin a un problema de diseo de software no trivial Efectiva: Ha valido para resolver el problema en diseos pasados. Ayuda a disear sistemas independientes del lenguaje de implementacin. Acorta la fase de diseo en el proceso de desarrollo de software. Reusable: La solucin es la misma para problemas similares.

Patrn Modelo-Vista-Controlador Es un patrn de diseo de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos. El Controlador (Controller) en Play!: Responde a los eventos (por lo general acciones del usuario) los procesa, y tambin pueden invocar los cambios en el modelo. Los eventos son tpicamente las peticiones HTTP: 1.Un controlador escucha peticiones HTTP, 2.Extrae los datos relevantes del "evento", como los parmetros de la consulta, encabezados de la peticin 3.Aplica los cambios a los objetos del modelo.

El Modelo (Model) en Play: Representacin especfica del dominio de la informacin en la cual la aplicacin opera. La lgica de dominio aade "significado" a los datos (por ejemplo, para calcular los totales, impuestos y gastos de envo de un carrito de compras). Mecanismo de almacenamiento persistente como una base de datos para almacenar datos. La Vista (View) en Play: Representa el modelo en un formato adecuado para sus interacciones, por lo general una interfaz de usuario. Mltiples vistas pueden existir un modelo nico, para diferentes propsitos. Las vista suele traducirse en un formato web como HTML, XML o JSON. Hay algunos casos donde la vista puede ser expresada en forma binaria:por ejemplo, en representacin de diagramas grficos.

HelloWorlden Play Framework!!


1.app/ contiene el ncleo de la aplicacin, separado en directorios para los modelos (models), controladores (controllers) y vistas (views). Puede contener a su vez otros paquetes de Java. Este es el directorio donde residen los archivos fuente .java.2.conf/ contiene todos los archivos de configuracin de la aplicacin, en especial el archivo application.conf, el archivo routescon la definicin del enrutamiento de los URLsy mensajes HTTP, y el archivo messagesutilizado para internacionalizar la aplicacin. 3.lib/ contiene todas las libreras opcionales de Java empaquetadas como archivos .jar. 4.public/ contiene todos los recursos disponibles pblicamente, lo cual tpicamente incluye archivos javascript, hojas de estilo (CSS) y directorios con archivos de imgenes. 5.test/ contiene todas las pruebas de la aplicacin. Las pruebas son escritas como pruebas JUnit o bien como pruebas de Selenium

conf/routes
GET / Application.index Cuando el servidor web reciba un pedido HTTP con el mtodo GET para el recurso /, deber llamar al mtodo Java Application.index

TDD
Es un proceso de desarrollo de software que se basa en la repeticin de pequeos ciclos de desarrollo: 1. El desarrollador escribe un caso prueba (test) de una mejora que se quiera realizar o de una nueva funcionalidad: Test-First Design(TFD) 2. Se verifica que dicha prueba falle. 3. Se implementa el cdigo que haga que la prueba pase el test satisfactoriamente 4. Finalmente se refactoriza el cdigo escrito: Refactoring

Ventajas (I) Evitar cdigo innecesario: Solo el mnimo para pasar las pruebas. Generar pruebas para cada funcionalidad hace que el programador confe en el cdigo implementado: Ante una modificacin profunda se vuelven a pasar los test. Escribir los test antes de programar asegura: Desde un principio se piensa en el test y no en la implementacin. Todas las funcionalidades tienen su correspondiente test. Uno debe imaginar cmo dicha funcionalidad ser usada por el cliente. Nos focalizamos en la interfaz antes que en la implementacin.

Funcionalidades excepcionales no son consideradas desde un principio: Los test para dichas funcionalidades son implementados por separado. Utilizar TDD hace que el cdigo sea ms modular, flexible y extensible. Ya que se piensa siempre en pequeas e independientes unidades de software.

Frameworks de Testing: Junit Test unitario Pieza de cdigo para testear una funcionalidad especifica del cdigo que se est testeando. Junit : Framework de test que usa anotaciones para identificar los mtodos que contienen un test. Para escribir un test con Junit: Anotamos un mtodo con: @org.Junit.Test Hay que usar mtodos proporcionados por Junit para verificar el resultado esperado con el resultado real.

Frameworks de Testing: Selenium El Selenium: Herramientas de software para el apoyo a la automatizacin de pruebas en aplicaciones web. Ejemplo: Imagina que has creado un formulario HTML con una veintena de campos que han de ser probados varias veces. Rellenando el formulario cada vez puede llegar a ser tedioso. Solucin: Automatizar todo el proceso y realizar la prueba cuando sea necesario. SeleniumIDE es un entorno completo de desarrollo integrado (IDE) para las pruebas de Selenium. Extensin de Firefox Permite realizar pruebas de grabacin, edicin y depuracin.

Con Play podemos implementar tres tipos de pruebas: Unit Test (JUnit): Testear el modelo de nuestra aplicacin. Functional Test (JUnit): Testear nuestra aplicacin accediendo directamente a los objetos del controlador. Selenium test: Podemos probar nuestra aplicacin mediante un navegador.

Metodologas de trabajo

UML