La promo termina en: 1d 8h 23m 8s 🔥
The only book that will teach you design patterns with real-world examples entirely in Spanish. Forget about pizza examples, geometric figures, and classes of barking, meowing, or barking animals.
Introduction to design patterns is one of the most comprehensive and affordable books on the market, well below the publications of traditional publishers.
Learn design patterns with real-world examples, covering 25 patterns across 3 major categories.
All the code
All the examples in this book are fully accompanied by their source code.
The book is aimed at learning design patterns in a natural way, presenting the simplest patterns first and progressing to more advanced ones.
All the examples in this book are practical, but above all, original. Forget about typical examples such as pizza, animals, or geometric figures.
The internet is full of blogs that do not explain properly, with incomplete examples and poor explanations, which will take you much more time and headache.
A brief review by the author
Nowadays, learning design patterns is not just a skill, but an obligation. Studying and understanding design patterns makes us better programmers/architects and is key to achieving a better position in the job market.
This book was created with the intention of teaching its readers how to use design patterns in a clear and simple way from a practical approach and with real-world scenarios.
I must admit that this is not a conventional book on design patterns, mainly because it does not follow the same structure as the primary works related to this topic. Instead, I wanted to focus on offering a real-world perspective, where the reader can learn to use design patterns in real environments that can be applied to real projects.
When I started studying design patterns, I realized that they were always explained in unrealistic scenarios that you could rarely or never use, such as learning to create geometric figures, making a pizza, or creating a series of classes for barking or meowing animals. These were the examples I always found, which, while explaining the concept, made it difficult to understand how to apply them to real scenarios.
In this book, I try to go a little further than typical examples to create truly amazing things. For example:
These are just some of the 25 examples that we will cover in this book, all of which are fully accompanied by their source code so that you can download, run, and analyze them from your own computer.
Finally, we will approach the examples with UML and fundamental concepts of object-oriented programming such as inheritance, polymorphism, encapsulation, abstraction, cohesion, and coupling, which we will discuss in sections A and B of this same book.
Each design pattern is accompanied by a real-world blueprint
Finaliza en: 1d 8h 23m 8s 🔥
By implementing the Factory Method design pattern, we will create an application that can connect to more than one database, switching from one to the other with just a simple configuration and without a single additional line of code.Read more
Create applications that can dynamically switch the way they connect to the backend according to clients needs, such as Web Services and RESTful.Read more
Manage the global configuration of your application through a single object implemented with the Singleton pattern, which can be shared and modified by all modules.Read more
By implementing the Builder design pattern, we will solve one of the classic problems, which is building a complex object using a Builder class that will allow us to create the complete structure of an employee with all its dependencies, such as their address, phones, contacts, etc.Read more
By implementing the Prototype design pattern, we will create a complete clone of a product list to create other derivatives. How many times have we seen companies manage more than one price list, and these lists have to be created from scratch with all the products in inventory? What if instead, we use a price list as a base and create derived lists with an additional discount?Read more
Through the implementation of the Adapter design pattern, we will create an adapter that allows us to interact in a homogeneous way between two banking APIs, which allow us to approve personal credits, however, the two APIs provided by the banks have different interfaces and although their operation is practically the same, the exposed interfaces are different, which implies having two different implementations to process the loans with each bank.Read more
Through the implementation of the Bridge design pattern we will create an application that allows us to communicate with an external system, said communication must be encrypted using various algorithms, however, the specific implementation of the encryption algorithm may change and it is necessary to create an adapter that allows us to decouple the concrete implementation with the way to use it.Read more
Learn how to create complex, recursive structures that can hold complex product configurations, such as products or product bundles that share similar features and operations.Read more
By implementing the Decorator design pattern, we will create an application that allows us to process a message in layers, where each layer will be in charge of processing a message at a different level.Read more
Learn to create components that help encapsulate all the logic of communication with various systems in a single component, said component will expose operations to interact with all systems.Read more
We will learn to create super light data structures that optimize the space required in memory, sharing part of the internal attributes with other objects that share the same information.Read more
We will create security proxies that allow us to intercept calls to an operation or service to add additional audit and security steps, avoiding calling audit services in additional steps.Read more
Through the implementation of the Iterator design pattern, we will create an application that allows us to go through a hierarchical organizational structure, through the implementation of an iterator, which will allow us to go through the entire structure tree sequentially.Read more
Build your own command line console using the Command design pattern, since this pattern allows us to create small components that can be simply executed with the help of a simple terminal.Read more
By implementing the Observer design pattern we will develop an application that loads the system configuration from the beginning. Said configuration will automatically notify all the objects that are interested in the changes, all this in order that the objects interested in the configuration do not have to consult each moment if there is any important change to reflect it to the user.Read more
The template design pattern focuses its functionality on code reuse and is used to implement algorithms that perform the same steps to arrive at a solution. This is achieved by implementing base classes that define default behavior. Usually a method is created for each step of the algorithm to be implemented, some of which will be implemented and others will remain abstract until executed by subclasses.Read more
We will learn to create applications that allow multiple forms of user authentication, through the construction of strategies, for authentication by Database, XML files, memory or any other.Read more
Chain of Responsability
The Chain of Responsibility design pattern is a pattern that stands out for its versatility, allowing us to solve problems where we are not very sure which object should process a specific request; this design pattern easily solves problems where inheritance cannot.Read more
We will build an interpreter that allows us to execute SQL queries on an Excel file, we will use the Sheets as Tables and the columns of the sheets as Columns of tables. All this using the Interpreter pattern.Read more
Through the Mediator pattern, we will develop a Modular application, which will allow the modules to communicate with each other, through a central component which will mediate the requests to deliver them to the appropriate module.Read more
Memento is a designed pattern that allows us to capture the state of an object at a given moment in order to return to this state at any time. This pattern is used when we have objects that change over time and for some reason we need to restore their state at a certain time.Read more
The Null Object design pattern arises from the need to avoid null values that can cause errors at runtime. Basically what this pattern proposes is to use instances that implement the required interface but with an empty body instead of returning a null value.Read more
Learn to manage the life cycle of a server by implementing a state machine, which will allow us to start, prepare and shut down our own server.Read more
Through the implementation of the Visitor design pattern, we will see how the construction plan of a Microsoft Project type project is analyzed and evaluated to provide the data that we require from it, for this, we will build a work plan made up of activities and personnel, form a hierarchical tree-like structure.Read more
Oscar Blancarte is a software architect with more than 18 years of experience in the world of software development. He is currently a software architect at Red Hat where he brings his knowledge and experience to clients worldwide.
Oscar Blancarte currently has several certifications, such as Java Programmer, Object Oriented Analysis and Design (IBM) and Oracle IT Architect (Oracle), Red Hat Certified Specialist in Containers and Red Hat Certified Cloud-native Developer. Throughout his career he has worked for various companies in the IT sector, including his participation in software architecture designs and consulting for clients in the Retail, Telco and Health Care sectors.
Oscar Blancarte is also the author of his own blog https://www.oscarblancarteblog.com from which he is actively publishing interesting topics on Software Architecture and topics related to Software Engineering in general. From his blog he helps the community to resolve doubts and it is through this means that you can have a more direct interaction with the author.
Además, es un apasionado por el emprendimiento, lo que lo ha llevado a emprender en diversas ocasiones, como es el caso de Codmind, una plataforma de educación online, Snipping Code, una plataforma de productividad para desarrolladores donde pueden guardar pequeños fragmentos de código repetitivos y Reactive Programming, la plataforma en la cual publica sus libros e invita a otros a desarrollar sus propias obras.
The book perfectly details 25 design patterns in more than 590 pages and 25 projects solved entirely with source code.
NO, the book is constantly evolving, and all updates will be available for free.
YES, you have a period of 30 days to request your total reissuer in case the book does not meet your expectations.
Introduction to Design Patterns is the only book 100% focused on real-world projects, we try to solve problems that could arise at some point in your professional life and also 100% in Spanish.
Yes, at the top of the page you will find the download button.
The purchase of the book includes access to a private group on Discord, where I personally answer all questions.
Only basic knowledge of object-oriented programming is necessary, because the book is written in a simple and clear way, with many illustrations and all the code commented.
© 2021, Copyright - Oscar Blancarte. All rights reserved.