Archivo

Entradas Etiquetadas ‘Diseño’

[Evento] “La inmortalidad de la Medusa”: Discusión sobre separación separación en capas

Viernes, 27 de agosto de 2010 jgamba View Comments

Hoy mismo, viernes 27 de Agosto de 2010, tendremos un ALT.NET Café en la comunidad ALT.NET Hispano en el que se discutirán de manera abierta algunos temas de arquitectura de software, esta vez sobre separación en capas. El encuentro será a las 18:00 UTC/GMT (meridiano 0) o 20:00 CET y tendrá una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet.

Esta iniciativa fue formulada por Martín Salías y Ángel “Java” López, dos de los miembros más destacados de nuestra comunidad, el maestro Ángel escribió sobre el por qué de la expresión “la inmortalidad de la medusa” en una entrada de su blog ALT.NET Hispano Café: La inmortalidad de la medusa. Para esta ocasión, Martín comentó así lo que trataremos en la charla:

Con el Maestro estuvimos charlando un poco y se nos ocurrió que podemos
seguir un poco el tema que empezamos alrededor de la separación en capas, y
complementando un poco el debate que iniciamos sobre todo alrededor del tema
acceso a datos y su conexión con el modelo de dominio, podríamos charlar un
poco de las alternativas desde allí hasta la interfaz externa (sea de
usuario, servicios, etc.).

Algo que me gusta revisar siempre es la idea de la Arquitectura Hexagonal de
Alistair Cockburn (ahora más conocida como Ports & Adapters) donde nos
sacamos de encima el modelo mental de datos-lógica-presentación, y pensamos
en extremos que publican y consumen datos, con un core que los analiza o
transforma.

Creo que cada vez más, con el ambiente de mash-ups, aplicaciones expuestas
como servicio, multitud de clientes y dispositivos, etc., hay mucha tela para
cortar alrededor.

Tengan en cuenta un ALT.NET Café, al igual que una VAN, trata de seguir el modelo de desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios:

[Evento] “La inmortalidad de la Medusa”: Discusión de Arquitectura de Software

Jueves, 5 de agosto de 2010 jgamba View Comments

Mañana viernes 6 de Agosto de 2010, tendremos un ALT.NET Café en la comunidad ALT.NET Hispano en el que comenzaremos a hablar de arquitectura, por esta vez discutiendo algo de Domain-Driven Design (DDD) y otros temas. El encuentro será a las 18:00 UTC/GMT (meridiano 0) o 20:00 CET y tendrá una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet.

Esta iniciativa fue formulada por Martín Salías y Angel “Java” López, dos de los miembros más destacados de nuestra comunidad, analizando que en muchas de nuestras VAN, si bien se permite y promueve la discusión a lo largo de la presentación del tema tratado además de reservar unos minutos al final de la exposición para este mismo propósito, normalmente este tiempo es insuficiente y hay que cortar la discusión, a menudo cuando esta se torna más interesante.

Lo anterior llevó a plantear la necesidad de disponer de eventos que se desarrollen enteramente orientados por una discusión dinámica e improvisada en la que todos los asistentes puedan expresar sus comentarios en texto o con su voz. Para el final esto debe contribuir enormemente a enriquecer nuestros conocimientos y habilidades técnicas.

En nuestra lista de correo ya se han sugerido varios temas para tratar, como patrones de persistencia y consulta, tales como Repository, DAO, Query Object, Enhanced Query Object, si lo desean, aun pueden participar en ese hilo de discusión, el maestro Angel “Java” López también escribió algunos detalles adicionales, como el por qué de la expresión “la inmortalidad de la medusa” en una entrada de su blog ALT.NET Hispano Café: La inmortalidad de la medusa.

Tengan en cuenta un ALT.NET Café, al igual que una VAN, trata de seguir el modelo de desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios:

[Evento] Si te gustan los Principios, Patrones y Prácticas de Desarrollo de Software …

Jueves, 15 de julio de 2010 jgamba View Comments

Entonces esta VAN que hemos organizado en la comunidad ALT.NET Hispano es justo para ti. Se realizará mañana viernes 16 de Julio a las 18:00 GMT (meridiano 0) con una duración aproximada de 2 horas, vía Live Meeting http://snipr.com/virtualaltnet.

En nuestro oficio es muy importante la calidad con que hacemos nuestros desarrollos, nuestras habilidades influyen mucho en el producto final, pero no basta solo con la intuición y aprender por ensayo y error, hace falta tener buenas referencias de lo que ha otros les ha funcionado muy bien, ha sido probado, aceptado, documentado y publicado.

Afortunadamente, este tipo de recursos abundan para nosotros y no hay que pagar, como saben, este es uno de nuestros principales objetivos en ALT.NET Hispano y para este fin contaremos con el privilegio de tener como presentador a uno de nuestros más destacados miembros, se trata de Martín Salías (@MartinSalias), quien tiene más de 25 años de experiencia trabajando como desarrollador y arquitecto de software, período durante el cual ha trabajado sobre diversas plataformas y lenguajes de programación. Además, Martín posee la distinción MVP de Microsoft, es miembro de la Agile Alliance y vicepresidente del Grupo de Usuarios Microsoft de Argentina.

Martín ya nos ha colaborado antes, presentando dos VAN, cuyos vídeos están publicados en nuestro wiki, estos son los enlaces:

VAN – Explosión de Lenguajes .NET y F#

VAN – Antes de hacerlo por cuarta vez, automatízalo

Al respecto de lo que podremos ver en la VAN, Martín nos escribe:

Los programadores queremos ser independientes, pero nos la pasamos buscando patrones… :)

A mediados de los ’90, la publicación del libro seminal “*Design Patterns*” del Gang of Four instituyó la idea de tabular ciertos elementos conocidos y repetitivos en las implementaciones de software orientado a objetos, generando un alto nivel de impacto en un catálogo de patrones que hoy día han sido incorporados en gran parte a las plataformas y lenguajes más modernos, pero siguen siendo útiles como herramienta de comunicación.

Por la misma época, Uncle Bob Martin publicaba en el C++ Report (que luego se llamaría Journal of OOP) una serie de artículos sobre principios generales de orientación a objetos, que recopilaría en el 2002 en su clásico “*Agile Software Development: Principles, Patterns and Practices*”: los principios SOLID que hoy conocemos, y que en gran parte podemos ver como los fundamentos de los patrones del GoF.

Centrándose en la premisa de mejorar la expresividad de nuestro código, Kent Beck, el principal ideólogo de XP, publicó recientemente su libro “*Implementation Patterns*”, en el que baja a un nivel de detalle aún más bajo en cuanto a la manera en que escribimos nuestro código OOP: cómo creamos clases, cómo mantenemos estado, modelamos el comportamiento, escribimos y componemos métodos y manejamos colecciones.

Beck escribe el libro pensando y escribiendo código Java, pero al leerlo tenemos varias revelaciones. Por ejemplo, al recorrer estructuras muy marcadas de ese lenguaje, podemos reflexionar sobre otros. En principio, creo que las 160 páginas del libro podrían comprimirse a unas pocas docenas en Ruby, pero también nos permite reflexionar sobre C#, un lenguaje más cercano al corazón de Alt.Net (aunque podemos repasar el mismo tema en Ruby en alguna otra ocasión).

El mecanismo de esta VAN será entonces recorrer (en forma más abreviada) estos mismos elementos de código desde la perspectiva de C# (y en algunos casos, la BCL).

Algunos temas que *podemos* llegar a tocar son:
- Clases, súper clases simples y calificadas, abstracciones e interfaces
- Estado, acceso directo e indirecto, estado común, variable y extrínseco
- Variables, campos, parámetros y constantes
- Control de flujo, mensajes, excepciones
- Métodos, visibilidad, sobre escritura y sobrecarga, helpers, conversiones, constructores, factories, queries, etc.
- Arrays, Iteradores, Colecciones, Listas, etc.

Obviamente son muchos temas por cubrir, así que mi objetivo será dejar planteados los temas para que podamos seguir discutiéndolos posteriormente en la lista o en los grupos de estudio.

Saludos a todos

Tengan en cuenta que una VAN trata de seguir el modelo de Desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios: