25
Jan
2022

Comprendiendo Sistemas de Software

Creando Herramientas de Dominio

Tiempo: 4 minutos

Tags: #DDD , #GToolkit , #moldable-development , #osoco , #pharo y #smalltalk

Resumen: Charla Comprendiendo Sistemas de Software presentada en el grupo DDD Hispano.

Material de la charla Comprendiendo sistemas de software creando herramientas de dominio presentada en el grupo DDD Hispano.


Descripción

Las herramientas que utilizamos tienen un gran impacto sobre los hábitos mentales de los desarrolladores, afectando directamente cómo construimos, percibimos y razonamos acerca del software. Como dijo Marshall McLuhan:

We shape our tools, and thereafter our tools shape us.

Los principales IDEs manejan de una forma genérica las aplicaciones, independientemente de que modelen dominios muy diferentes. Existe un salto entre el modelo mental, normalmente basado en abstracciones del dominio, con el que desarrollamos y el modelo genérico y de más bajo nivel al que nos obligan nuestras herramientas.

Incluso cuando siguiendo aproximaciones como Domain-Driven Design (DDD) conseguimos diseñar las aplicaciones de software en términos de abstracciones del dominio del problema, no podremos aprovechar todo el potencial de estas abstracciones mientras nuestras herramientas no incorporen y sean “conscientes” de esas abstracciones específicas de nuestro dominio.

En esta charla mostramos ejemplos de moldable development, una aproximación diferente al desarrollo de software que propone adaptar continuamente nuestras herramientas para incorporar las abstracciones del dominio concreto en que estemos trabajando.

Usamos algunos ejemplos prácticos de cómo se pueden incorporar las ideas del “desarrollo maleable” al proceso de desarrollo de software, de manera que podrás crear extensiones específicas del dominio de tu aplicación a medida que la construyes, de una manera ágil y con un coste asequible.

Como resultado de esta nueva forma de entender el proceso de desarrollo podrás razonar, visualizar y comunicar tus sistemas de software directamente en términos de tus abstracciones de dominio.

En los ejemplos emplearemos Glamorous Toolkit, un IDE open source y maleable basado en Pharo, pero no será necesario ningún conocimiento previo sobre estas tecnologías. El objetivo no será un lenguaje concreto, sino incorporar conceptos de desarrollo maleable a nuestro proceso de desarrollo, con independencia de cuál sea tu lenguaje de programación de preferencia.

Vídeo de la presentación

Slides

Referencias

Créditos

comments powered by Disqus
Top