Tras dos años de arduo trabajo he concluido la publicación de mi libro “Introducción a los patrones de diseño”, en el cual explico la importancia de la utilización de los patrones en la Ing. de Software, abordando un total de 25 patrones.
Hoy en día aprender patrones de diseño no es una cualidad más, si no una obligación. Y es que estudiar y comprender los patrones de diseño nos convierte en un mejor programador/arquitecto y es clave para conseguir una mejor posición en el mundo laboral.
Este libro fue creado con la intención de enseñar a sus lectores cómo utilizar los patrones de diseño de una forma clara y simple desde un enfoque práctico y con escenarios del mundo real.
Tengo que aceptar que este no es un libro convencional de patrones de diseño debido, principalmente, por que no sigue la misma estructura de las primordiales obras relacionadas con este tema. En su lugar, me quise enfocar en ofrecer una perspectiva del mundo real, en donde el lector pueda aprender a utilizar los patrones de diseño en entornos reales y que puedan ser aplicados a proyectos reales.
Cuando empecé a estudiar sobre patrones de diseño, me di cuenta que siempre se explicaban en escenarios irracionales que poco o ninguna vez podrías utilizar, como por ejemplo para aprender a crear figuras geométricas, hacer una pizza o crear una serie de clases de animales que ladren o maúllen; esos eran los ejemplos que siempre encontraba, que si bien explicaban el concepto, se complicaba entender cómo llevarlos a escenarios reales.
En este libro trato de ir un poco más allá de los ejemplos típicos para crear cosas realmente increíbles. Por ejemplo:
- Crear tu propia consola de línea de comandos.
- Crear tu propio lenguaje para realizar consultas SQL sobre un archivo de Excel.
- Crear aplicaciones que puedan cambiar entre más de una base de datos, por ejemplo, Oracle y MySQL según las necesidades del usuario.
- Administrar la configuración global de tu aplicación.
- Crear un Pool de ejecuciones para controlar el número de hilos ejecutándose simultáneamente, protegiendo nuestra aplicación para no agotar los recursos.
- Utilizar proxis para controlar la seguridad de tu aplicación.
- Utilizar estrategias para cambiar la forma en que los usuarios son autenticados en la aplicación; como podría ser por Base de datos, Webservice, etcétera.
- Crear tu propia máquina de estados para administrar el ciclo de vida de tu servidor.
Éstos son sólo algunos de los 25 ejemplos que abordaremos en este libro, los cuales están acompañados, en su totalidad, con el código fuente para que seas capaz de descargarlos, ejecutarlos y analizarlos desde tu propia computadora.
Finalmente, abordaremos los ejemplos con UML y conceptos fundamento de la programación orientada a objetos como lo son la Herencia, Polimorfismo, Encapsulamiento, Abstracción, Cohesión y Acoplamiento; de los cuales hablaremos en las secciones A y B de este mismo libro.
El libro está dividido en 3 capítulos principales en los cuales abordamos los patrones de diseño según su clasificación, los patrones que estudiamos son:
Patrones Creacionales:
- Factory Method
- Abstract Factory
- Singleton
- Builder
- Prototype
- Object Pool
Patrones Estructurales:
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Patrones de Comportamiento:
- Iterator
- Command
- Observer
- Templete Method
- Strategy
- Chain of Responsability
- Interpreter
- Mediator
- Memento
- Null Object
- State
- Visitor
Además, abordamos brevemente los conceptos básicos de la programación orientada a objetos (POO) para todos aquellos lectores que están empezando a programar. También abordamos brevemente UML para comprender los diagramas que expondremos a lo largo de este libro.
Este es sin duda unos de los libros más completos que se puede conseguir acerca de los patrones de diseño, abordamos 25 patrones de diseño, exponemos 25 escenarios del mundo real que son solucionados utilizando patrones de diseño y se explica con código completo.
Edición Digital (PDF)
Cómpralo en formato PDF para visualizarlo en cualquier dispositivo con lector de PDF
Qué buen material, aún no lo he adquirido, pero sin duda lo haré luego de escribir este comentario, no hay mucha información en español sobre este tema, y hay menos aún, con ejemplos reales como los que aquí propone el buen Óscar.
Aprender patrones te lleva al siguiente nivel como programador, y te prepara para lo que te espera allá en el mundo corporativo y competitivo.
Qué bueno que compartas el conocimiento, yo también hago lo propio desde mi trinchera, por si le interese visitarme sobre .NET y .NET Core son bienvenidos 😊 https://www.bravedeveloper.com
Gracias por el comentario Gerson, y ojalá me cuentes como te fue cuando termines de leer el libro
Saludos, el libro está basado exclusivamente en ejemplos aplicados al le guaje de Java verdad?
Tengo ejemplos también en C#, pero realmente nos centramos en la parte de patrones de diseño, mas que en en el leguaje en sì, pues los patrones de diseños e aplican por igual en cualquier lenguaje POO.