Introduction to

|

La promo termina en: 2d 6h 46m 40s 🔥

$45.00 USD

$25.00 USD

You'll get

  • Digital book
  • Actualizaciones

Includes

  • 500+ páginas
  • Free

Source code

  • Java / C#

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

Some of our readers work in

Acceenture
waveswaveswaves

What will you find in this book?

Estilos y patrones de diseño

Economic

Introduction to design patterns is one of the most comprehensive and affordable books on the market, well below the publications of traditional publishers.

Estilos y patrones de diseño

Real-world examples

Learn design patterns with real-world examples, covering 25 patterns across 3 major categories.

Estilos y patrones de diseño

All the code

All the examples in this book are fully accompanied by their source code.

Estilos y patrones de diseño

Focused approach

The book is aimed at learning design patterns in a natural way, presenting the simplest patterns first and progressing to more advanced ones.

Estilos y patrones de diseño

Practical approach

All the examples in this book are practical, but above all, original. Forget about typical examples such as pizza, animals, or geometric figures.

Estilos y patrones de diseño

Save time

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.

waveswaves

About the book

This is a brief description of the book

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:

  • Create your own command line console
  • Create your own language to perform SQL queries on an Excel file
  • Create applications that can switch between more than one database
  • Manage the global configuration of your application
  • Create a pool of executions to control the number of threads running simultaneously, protecting our application from exhausting resources
  • Use proxies to control the security of your application
  • Use strategies to change the way users are authenticated in the application; such as through a database, web service, etc.
  • Create your own state machine to manage the lifecycle of your server

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.

waveswaves

Table of contents

The book has over 500 pages.

1

Creational patterns

  • Factory Method Pattern
  • Abstract Factory Pattern
  • Singleton Pattern
  • Builder Pattern
  • Prototype Pattern
  • Object Pool Pattern
2

Structural Patterns

  • Adapter Pattern
  • Bridge Pattern
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Flyweight Pattern
  • Proxy Pattern
3

Quality attributes

    • Iterator Pattern
    • Command Pattern
    • Observer Pattern
    • Template Method Pattern
    • Strategy Pattern
    • Chain of Responsability Pattern
    • Interpreter Pattern
    • Mediator Pattern
    • Memento Pattern
    • Null Object Pattern
    • State Pattern
    • Visitor Pattern
4

Appendices

    • A - Introduction to POO
    • B - Introduction to UML

Each design pattern is accompanied by a real-world blueprint

Finaliza en: 2d 6h 46m 40s 🔥

45.00 USD

25.00 USD

Creational Patterns

Creational patterns focus on the way objects are created or instantiated.

waves

Factory Method

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
Patron Factory Method

Abstract Factory

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
Estilo monolítico
waves

Singleton

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
Estilo monolítico
waves

Builder

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
Estilo monolítico
waves

Prototype

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
Estilo monolítico
waves

Object Pool

We will learn how to control the number of simultaneous processes, optimizing system resources and avoiding system overload due to process saturation.

Read more
Estilo monolítico

Structural Patterns

These patterns define the way objects are structured and related to each other.

waves

Adapter

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
Patrón Adapter
waves

Bridge

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
Patrón Adapter
waves

Composite

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
Estilo monolítico
waves

Decorator

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
Estilo monolítico
waves

Facade

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
Estilo monolítico

Flyweight

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
Estilo monolítico
waves

Proxy

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
Estilo monolítico

Behavior patterns

Behavior patterns manage how objects are shared at runtime

waves

Iterator

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
Patron Iterator
waves

Command

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
Estilo monolítico
waves

Observer

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
Estilo monolítico
waves

Template Method

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
Patron Template Method
waves

Strategy

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
Patron Strategy
waves

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
Patron Chain of Responsability
waves

Interpreter

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
Patron Interpreter
waves

Mediator

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
Patron Mediator
waves

Memento

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
Patron Memento
waves

Null Object

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
Patron Null Object
waves

State

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
Patron State
waves

Visitor

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
Patron Visitor

Price

Remember that all our products have a 30-day guarantee.

Reactive programmingReactive programmingReactive programming
bg

Design patterns

$45.00$25.00/USD

La oferta finaliza en: 2d 6h 46m 40s 🔥

Descuento por tiempo limitado

wave
  • checkEbook (PDF)
  • checkFree updates for life
  • checkDownloadable source code
  • check25 real-world examples
Introducction to design patterns book
waveswaves

A little about the author

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.

waveswaves
lineline

Frequent questions

If we do not resolve your doubts, you can write to us through the chat on the page

How long is the book?
Do I have to pay for updates?
Does the book have a guarantee?
What difference does this book have with the rest?
Can I download a free sample?
What if I have a question?
What knowledge do I require?
Reactive programming
LinkedinYoutubeTwitterFacebook

© 2021, Copyright - Oscar Blancarte. All rights reserved.