El patrón Factory es uno de los patrones fundamentales a nivel de diseño orientado a objeto. Este patrón pertenece al grupo de patrones creacionales y nos simplifica la construcción de una jerarquía de clases. Sin embargo a veces a la gente le cuesta ver como usar este patrón en su código. Vamos a utilizar un […]
Ejemplo de Java Singleton (Patrones y ClassLoaders)
Java Singleton el patrón de diseño más básico . Como ya he comentado en varias ocasiones el conocimiento de los patrones de diseño es algo clave a la hora de abordar desarrollos y de solucionar problemas, sobre todo problemas complejos y que necesitan flexibilidad .Hoy voy a entrar a detalle en uno de los patrones […]
Spring REST Test utilizando Rest Assured
La necesidad de crear Spring REST Test cada día aumenta. Nuestras arquitecturas avanzan el uso de servicios REST se multiplica. Tenemos que comenzar a construir pruebas unitarias que de una forma sencilla puedan testear servicios REST . Ya sean servicios existentes o Mocks puros. La necesidad de herramientas Es imprescindible contar con alguna herramienta que […]
Angular resolve y manejo de rutas asincronas
¿Para que sirve Angular resolve? . Hoy en día trabajamos cada día más con arquitecturas SPA (Simple Page Application) . En las cuales la mayor parte de las responsabilidades se ubican en el cliente implementando un modelo MVC. En Angular este modelo MVC esta compuesto por las plantillas, Router/Controladores y los Servicios. Son estos últimos […]
El patrón MVC , arquitectura cliente vs servidor
Uno de los patrones de diseño más utilizados hoy en día es el patrón MVC. La mayoría de los frameworks web se apoyan en él desde Spring MVC , ASP.NET MVC pasando por Laravel. El patrón MVC se basa en la división de responsabilidades. En este patrón existen tres responsabilidades. La primera de ellas […]
Introducción a RxJava y sus observables
RxJava es una de las librerías que más interés esta generando dentro de la comunidad. Esto es debido a que cada día nos encontramos con más sistemas que funcionan de forma asíncrona y que necesitan poder gestionar flujos de información complejos. Para entender como funciona RxJava necesitamos entender como funcionan los Observables que son los […]
Command Query Separation (CQS) e Iteradores
Command Query Separation o CQS es uno de los principios de diseño orientado a objeto que nos permite construir nuestras clases de forma que sean más sencillas de usar por parte de los desarrolladores. Este principio define que los métodos de una clase se deben dividir en dos grandes grupos , Consultas y Comandos. Las consultas son […]
Java Flyweight pattern y rendimiento
Java FlyWeight Pattern es uno de los patrones de diseño que más cuesta entender ya que implica construir muchas clases para entender su funcionamiento y sus puntos fuertes. Vamos a intentar realizar un acercamiento a él a través de clases sencillas. Imaginemonos que disponemos de la clase MacBookAir. Se trata de una clase normal y corriente […]