Java Diseño y Objetos . ¿Cómo podemos mejorar nuestro diseño orientado a objeto ? . En muchas ocasiones me he encontrado con que los conceptos de programación orientada a objeto son conceptos que todos conocemos y que todos usamos normalmente en nuestro día a día . Creamos clases , instanciamos objetos aplicamos herencia y composición […]
CRUST y el diseño de APIS
¿Que es CRUST? . Como siempre cada día aparecen más acrónimos que conocer. Hoy voy a hablar de un acrónimo que se usa en el diseño de APIS , de cualquier tipo de de API y que sirve como una guía a la hora de construirla. CRUST ( Consistent, Resilient, Unambiguous,Simple,Tiny) . Son muchas palabras […]
Data Transfer Object (DTO) un concepto clave
El uso de DTO o Data Transfer Object es uno de los conceptos más habituales a nivel de Arquitectura cuando devolvemos en nuestros servicios estructuras de datos . Muchos servicios devuelven objetos de negocio o gráfos con objetos de negocio relacionados . Es decir cuando nosotros tenemos un método que nos devuelve información sobre Personas […]
Java Adapter Pattern y su utilidad
Java Adapter Pattern o patrón adaptador es uno de los patrones más utilizados hoy en día a nivel de desarrollo y probablemente es uno de los más sencillos de implementar una vez que hemos entendido como funciona. Ahora bien siempre resulta difícil de entender al principio. Vamos a construir un ejemplo que nos ayude a […]
REST API Design y simplicidad
El concepto de REST API Design es un concepto cuando menos “abierto”. En el sentido de que siempre podemos diseñar el API REST de la forma que deseemos o nos apetezca . La pregunta más importante en estos casos es si podemos hacer algo para simplificar el diseño o aportar sencillez. Vamos a hablar un […]
REST Nested Resources y su utilidad
El uso REST Nested Resources es cada día más necesario cuando construimos arquitecturas REST . En muchos casos estas arquitecturas pueden funcionar de una forma razonable utilizando los clásicos Recursos y verbos HTTP . Ahora bien el uso de recursos REST standard no siempre solventa todos los problemas que este tipo de Arquitecturas puede generar. […]
Adapter vs Facade y sus diferencias
La pregunta de Adapter vs Facade a nivel de design pattern es una de las preguntas más habituales cuando uno empieza a trabajar con ambos patrones y a veces su similitud hace que no entendamos de forma correcta como se usa cada uno de estos patrones. Vamos a echar un vistazo a ambos y explicar […]
Java Optional Repository y JPA
El concepto de Java Optional Repository llega en Java 8 y hace referencia a cómo podemos usar los tipos Optional dentro de nuestras clases clásicas de repositorio. El ejemplo mas clásico es el método BuscarUno o findOne() a nivel de Java Persistence API . Este método nos permite buscar un elemento concreto por clave primaria […]