Ver por etiquetas

Todas las etiquetas » Patrones (RSS)

Haz que tu código fluya

Sin duda la expresividad, la facilidad para leerlo y tener clara su intención y efectos sobre el sistema, es una de las características más importantes del código. Si por algo son interesantes las interfaces fluentes son por que aumentan extraordinariamente. Los primeros en describir formalmente esta técnica fueron Eric Evans y Martin Fowler, aunque el origen de la misma esta en el idiom, descrito para C++, method chaining . Quizás la primera librería que presenta un uso acusado de este idioma es...

Software e innovación… innovación y software: ¿existe un proceso?

Me encuentro en la Oulanka Research Station de la Universidad de Oulu en Kuusamo, un lugar perdido de Finlandia , a 25 km del círculo polar. Donde Cristo perdió el gorro, vamos. El sitio es precioso: cientos de lagos, miles de arboles, renos en medio de la carretera y una paz que invita a pensar. En el marco del proyecto ITEI , subvencionado por la Unión Europea, un puñado de ingenieros, académicos y gente de la empresa estamos buscando desarrollar una metodología y un soporte informático abierto...

Lo quiero todo, todo y todo… o la triste realidad del triángulo de la gestión de proyectos

Resulta que esta mañana me he levantado graciosito y no se si como resultado del aburrimiento, de la pila de días de descanso vacacional que llevo, o de los cubatas del Cebolla Rock , me he propuesto hacer un experimento. Me he ido al concesionario de BMW más cercano, he buscado a uno de esos aseados y sonrientes y le he dicho… Buenos días, me gustaría comprar un 750i, blanco, que le gusta a mi mujer de eso color, aunque a mi me parece un poco taxi. Taxi...

Emitiendo para toda la galaxia, ¿hay alguien ahí?: Lo que todo desarrollador debe saber sobre los eventos en .Net

La manera que las clases tiene de alertar a otras clases en los lenguajes orientados a objetos modernos es lanzar eventos. Una clase que no expone eventos, hace mucho más ardua la tarea de los desarrolladores que la consumen a la hora de detectar cambios en su estado. Una clase sin eventos es un clase incomunicada, que dirían los O’funk’illo. En en sentido amplio, se podría decir que toda clase que diseñemos y que mantenga un estado, debería tener eventos...
Publicado por Rodrigo Corral | 9 comment(s)

Ya, ya... Keep It Simple, Stupid… ¿pero cómo?

Que seguir el principio KISS y mantener nuestras metodologías, nuestras arquitecturas, nuestros diseños, nuestras clases etc… simples nos proporciona innumerables ventajas es algo que todos los desarrolladores de software tenemos claro desde un principio o acabamos aprendiendo a la fuerza. La simplicidad en una característica que, cuando hablamos de desarrollar o diseñar software, es buena en si misma. La paradoja es, que si bien sabemos lo anteriormente comentados...

Estaré en SecondNug: 'Herramientas de modelado: en busca del El Dorado'

Los chicos de SecondNug me han invitado a dar una charla, no se si lograré estar a la altura de mi amado jefe, pero lo intentare. Me pidieron una charla sobre UML. Pero UML ¡es muy aburrido! y el modelado es un campo que está evolucionado de manera muy rápida y continua, así que he abierto un poco más la temática... espero que la charla os resulte atractiva y os animeis a asistir . Durante décadas, lo que es tanto como una eternidad en el mundo del software, los desarrolladores hemos intentado reducir...

Virtualidad vs. Eventos

El otro día, un amiguete desarrollador, me escribia lo siguiente: "Estoy discutiendo con Manolo una cosa sobre que es mejor, te cuento nuestro problema: Tenemos un formulario base, que realiza una serie de acciones, y tengo un método de insertar que para todos los formulario lo hace igual. El resto de los formularios los heredamos del formulario base, pues bien, queremos poden, en algún caso especial, que después de la inserción en el formulario hijo se hagan una serie de acciones. Yo digo que...
Publicado por Rodrigo Corral | 20 comment(s)
Archivado en:

Libro gratuito: Patterns of Agile Practice Adoption

Las metodologías ágiles son muy simples. Pero su adopción no es tan simple, implantar una metodología ágil, aunque es mucho más sencillo que implantar RUP o CMMI, no es una tarea exenta de riesgos, nadie dijo que no exigiese un esfuerzo . Una vez tomada la decisión de implantar una metodología ágil hay un motón de preguntas que responder: ¿Por donde empiezo?, ¿Qué prácticas debo adoptar?, ¿Cómo puedo adoptar la metodología incrementalmente?, etc... Amr Elssamadisy en su libro Patterns of Agile Practice...

Excelentes patrones sobre gestión del riesgo

Hace unos días escribí sobre gestión del riesgo en Scrum . La gestión del riesgo siempre a sido una disciplina vital en la gestión de proyectos del software. Hasta el punto de que, incluso una de las metodologías más populares, MSF, hace de la gestión del riesgo una pieza central de la gestión del proyecto. Con idependencia de la metología usada todo gestor de proyectos responsable debe hacer una gestión del riesgo explicita. Todos hacemos una gestión del riesgo implicitamente en nuestros proyectos...

Webcast: Patrones para arquitecturas orientadas a eventos y mensajes

He visto de casualidad un interesantísimo webcast sobre patrones relativos a arquitecturas basadas en eventos e intercambio de mensajes . El autor del webcast es Ian Cartwright en colaboración con el ínclito Martin Fowler. Me ha llamado poderosamente la atención la presentación porque llevo un tiempo involucrado en la arquitectura y el desarrollo de una aplicación en la que todos los patrones descritos en la presentación tienen mayor o menor aplicación. Muchos de ellos ya aparecen en la arquitectura...
Publicado por Rodrigo Corral | 4 comment(s)
Archivado en: ,

Estimación y planificación detallada

Un error habitual en gestión de proyectos es creer que la mejor manera de estimar el coste o la duración de un proyecto es realizar una división del trabajo en tareas. Veía este error hace pocos días entre los comentarios al post titulado Tengo un plan: ser ágil . Es curioso cómo en varios comentarios se ligaba estimación con planificación detallada. El argumento era más o menos el siguiente: puesto que las metodologías ágiles no realizan una estimación detallada más que en el momento de abordar...

Esperar a que los hilos acaben cuando termina un proceso

Una pregunta habitual relacionada con el desarrollo multihilo en plataforma .net es ¿Cómo espero a que los hilos que lanza mi aplicación acaben? El último que me la realizaba era uno de los alumnos del curso de Programación Multihilo que imparto en Campus MVP . No hay una respuesta única. La respuesta varia según se trate de un hilo que hemos creado explicitamente o un hilo que hayamos creado usando el pool de hilos de .Net. El escenario que generalmente se plantea es que una aplicación lanza hilos...
Publicado por Rodrigo Corral | 3 comment(s)
Archivado en: ,

Si quieres licencia no hagas chapuzas...

Una tradición en el desarrollo de software en lo que ha interfaces de usuario se refiere, ha sido, es y será el 'parecerse a Office'. Con cada nueva release de Office, un montón de aplicaciones rehacian su interfaz para adaptarse al nuevo aspecto. Con la nueva versión de Office, para seguir con la tradición tendremos que licenciar el uso de la interfaz de usuario de Office 2007 . Quietos, quietos, no empeceís a tirar vuestros nuevos controles y los formularios desarrollados los últimos meses!!!!...
Publicado por Rodrigo Corral | 5 comment(s)
Archivado en: ,

Web Service Software Factory

Recientemente se ha liberado la factoría para desarrollo de servicios web: Web Service Software Factory . El proposito de esta factoría, completamente integrada con Visual Studio 2005, es servirnos de guia y facilitarnos el empleo de las mejores prácticas a la hora de diseñar y desarollar la capa de servcios de nuestras aplicaciones. En esta factoría encontraremos: Documentación: Sobre arquitectura de aplicaciones se servicios web, diseño de los mensajes...

Dependencias circulares de formularios en C++/CLI

Es una situación relativamente habitual que dos clases se tengan que conocer entre sí, es lo que se conoce como referencia circular . Aunque en principio debería sospechar de esta situación por el alto acoplamiento que introduce entre ambas clases, hay veces, en que puede ser excesivo crear una clase para que maneje la comunicación entre las clases. De todos modos si decidís usar este enfoque, una buena implementación es utilizar el patrón mediator...
Publicado por Rodrigo Corral | 4 comment(s)
Archivado en: ,

Patrones de Workflow

Sin duda gran cantidad de procesos de negocio que se encuentran en los dominios de aplicación que modelamos son susceptibles de ser expresados en forma flujos o máquinas de estados. Con la llegada de Windows Workflow Foundation cada vez más arquitéctos van a incorporar elementos de Workflow y máquinas de estado en sus arquitécturas aprovechando las facilidades y posibilidades que esta nueva herramienta nos presta. Ya he comentado anteriormente lo importantes...
Publicado por Rodrigo Corral | con no comments
Archivado en: ,

Patrones para Ajax

Si duda las técnicas Ajax han llegado para quedarse. Y cada vez más y más desarrolladores y arquitectos estamos haciendo uso de estas técnicas. Pues bien como siempre que nos adentramos en un terreno nuevo, los patrones nos pueden ser de gran ayuda, pues evitarán que cometamos errores que otros ya han cometido. Esta mañana he sabido por un compañero de trabajo que existe un interesante sitio, en formato Wiki, que se dedica a recopilar patrones relativos...
Publicado por Rodrigo Corral | 3 comment(s)
Archivado en: ,

Buenas prácticas de .Net siempre a mano

Ya he hablado antes en este blog de la importancia de los patrones y las buenas practicas. Todo el que se plantee realizar una aplicación en .net debería leer tener los Patterns & Practices como referencia. Son una excelente documentación sobre como desarrollar aplicaciones en .net y deben ser la principal referencia de todo arquitecto de software en .net. Eso si, tienen una pega, son una cantidad de información considerable, unos 30 documentos, de un motón...
Publicado por Rodrigo Corral | 1 comment(s)
Archivado en: ,

Patrones + DSL

He visto un interesante proyecto , que implementa, utilizando DSL, algunos de los patrones de la "banda de los cuatro". Puede ser de interés tanto si estas interesado en los patrones como si estas interesado en DSL. Esta disponible el código fuente y una presentación. Sin duda toda buena software factory deberia estar basada en patrones reconocidos. Y no hay patrones más importantes (a nivel de diseño) que los de la "banda de los cuatro".
Publicado por Rodrigo Corral | con no comments

Arquitectos y modistas

Mi abuela a cosido todo su vida. La recuerdo con sus gafas, su cesto de costura y sus patrones. Nunca la vi cortar una falda o un abrigo sin utilizar patrones. El otro dia la pregunte: Abuela, ¿Por qué siempre utilizas patrones? Llevas siglos cosiendo y sin embargo nunca cortas una falda sin usarlos (tarea realivamente facil para una modista experimentada). La respuesta, con una mirada de incredulidad y desconfianza (como si la tomase el pelo), fue clara: ¿Estas loco? Y que pasa...
Publicado por Rodrigo Corral | 3 comment(s)