-
Modelado de estado
Esta es una problemática habitual al construir software y una y otra vez veo modelos muy pobres. Fenómeno que también observo en la universidad. Es por ello que hoy grabé un video con algunas sugerencias al respecto en el que, entre otras cosas, explico el patrón state. Espero les resulte útil. — read more
-
Sobre la Orientación a Objetos y su pobre uso en la actualidad
La programación orientada a objetos (POO) tiene ya más de 40 (¿50?) años y sin embargo…. Para empezar me parece importante destacar el hecho que la POO no solo es una «tecnología de programación» sino algo mucho más amplio: es un paradigma. Esto implica que además de programar utilizando ciertas herramientas (encapsulamiento, polimorfismo, etc, etc),… — read more
-
Inversión de Dependencias
Este el quinto principio de los principios SOLID y personalmente creo que es el que mayor impacto tiene a la hora de hacer soluciones testeables. Pero curiosamente me encuentro recurrentemente con una importante cantidad de gente que no lo usa o que lo interpreta incorrectamente. Es por esto que decidí hacer un video al respecto.… — read more
-
Recursos sobre Persistencia Objeto-Relacional
Persistir Objetos en una base de datos relacional es una problemática muy común sobre todo en el desarrollo de las denominadas «aplicaciones enterprise». Los desafíos de esta cuestión han sido caracterizados con nombre propio: «Impedance Mismatch«. Hoy en día esta problemática ha sido resuelta por diversas en herramientas entre las que a mi entender se… — read more
-
SOLID: Segregación de Interfaces
Acabo de publicar el segundo video de mi serie Situaciones de Diseño el cual está dedicado al principio de Segregación de interfaces. — read more
-
Situaciones de Diseño #1
Hace tiempo venia con la idea de publicar una serie de videos sobre diversas técnicas/patrones/recomendaciones para lidiar con situaciones de diseño habituales. Finalmente ayer decidí poner manos a la obra y publiqué el primer video de esta serie. La situación que aborda este primer video es cómo lidiar con lógica que depende de fechas de… — read more
-
Sobre por qué la programación orientada a objetos perdió relevancia
Erase una vez cuando se desarrollaban aplicaciones grandes, con decenas o incluso cientos de entidades. Era una época donde se esperaba que cada pieza de software viviera por muchos años y los ciclos de release podían extenderse por muchos meses excediendo incluso el año. Era una época donde la programación orientada a objetos y sobre… — read more
-
El desafió de Enseñar a Diseñar
Desde mi comienzo en la carrera docente siempre he estado en materias que en mayor o menor medida han incluido la temática de diseño de software. Cuando estaba en Algo3 y AyDOO era diseño a nivel de clases, ahora en MeMo2 cubrimos un poco de diseño a nivel de clases y también diseño de más… — read more
-
Una alternativa al Double Dispatch
Double Dispatch es un patrón de diseño para resolver situaciones en las que el comportamiento resultante no depende solamente del objeto que recibe el mensaje sino también de parámetro enviado en ese mensaje. Veamos un caso concreto para entender mejor esta situación. Supongamos que debemos modelar un juego de naves espaciales tipo Galaga donde tenemos distintos… — read more
-
Preparando Análisis y Diseño Orientado a Objetos en UNTreF
Por estos días me encuentro preparándome para dictar esta materia el primer cuatrimestre de este año. Si bien ya he dictado este materia en otras ocasiones esta vez tengo el desafío de dictarla solo, las veces anteriores la dicté en conjunto con @dfontde. En base al feedback obtenido de las dictadas anteriores y de algunas ideas… — read more