BDD de especificaciones: Un ejemplo concreto

En un artículo anterior, había compartido con ustedes un ejemplo concreto de BDD de historias. Ahora toca el turno de un ejemplo de lo que es BDD de especificaciones.

Para el ejemplo, seguire la misma mecánica que para el de BDD de historias, explicando en este artículo de que se trata el ejemplo, para luego enlazar a futuros artículos con la implementación concreta.

Diseñando un objeto Cuenta

La idea es aplicar BDD de especificaciones para diseñar un objeto que represente una cuenta bancaria. Para hacer el ejemplo sencillo, el balance de la cuenta se manejará como un entero. Se quiere entonces que este objeto cuenta:

Asi mismo nos vamos a plantear las responsabilidades para este objeto a nivel del código. En el caso del balance de la cuenta, que podemos representar como una propiedad, el mismo objeto podrá a través de su API realizar débitos y créditos.

Para el caso de la alerta sin embargo, vamos a requerir de un colaborador, es decir, otro objeto cuya responsabilidad sea el envío de alertas, y que yo pueda utilizar cuando se de el caso del saldo menor a 100. Para los efectos del ejercicio, este colaborador no existe, asi que mientras realizamos el diseño de la cuenta, aprovechamos de diseñar como se comunicará con este colaborador, al que llamaremos “alertas” por ahora, para cumplir con el último requisito.

Si bien el ejercicio es muy sencillo, muestra los pasos básicos que se utilizan para diseñar objetos en una aplicación de la vida real.

Implementación en Java

Implementación en otros lenguajes

Próximamente estaré publicando implementaciones de este ejemplo sencillo en otros lenguajes, e iré actualizando este artículo.

Notas finales

Si hay preguntas, pueden usar los comentarios para contactarme. Saludos!

comments powered by Disqus