
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
An introduction on the course objectives, and a description of the categories of design patterns that are studied in this series.
Learn why, how and when to use the builder pattern.
Learn how the builder pattern can be implemented in Java.
This is an introduction to the factory design pattern that shows the features, weaknesses and the UML diagram of this pattern.
This is a demo implementation of the factory pattern.
This video provides an example of how you can implement the abstract factory pattern.
This video provides an overview of the Singleton design pattern.
An example of implementing the Singleton pattern in Java.
This video provides an introduction to the Prototype design pattern.
This video shows how the Prototype pattern can be implmeneting in Java code.
This video provides a short introduction over the Object Pool pattern.
This video proves how you can implementing the Object Pool pattern as a Java developer.
In this video, we are going to define what a structural pattern is, and we will list the structural patterns that will be covered by this series.
This is a high-level overview of the Adapter pattern.
This is a potential idea for implementing the Adapter pattern. Make sure that you download the code and play with it to fully understand the concepts.
This video is about introducing the Bridge pattern.
This video shows an idea of how to implement the Bridge pattern in Java.
This video explains the easy concept of the Filter pattern, and provides an idea of how the implementation could look like in Java.
This is a brief introduction to the Composite pattern.
In this video you are going to see a potential implementation for the Composite pattern.
This video introduces you to the concept of the Decorator.
This video covers the available options for implementing a decorator in Java.
This video provides an introduction to the Facade pattern.
How to implement a Facade in your code? This video will answer to this question.
This video introduces you to the Flyweight pattern and its features.
This video shows you how to implement the Flyweight pattern in your Java code.
This video introduces you to the particularities of the Proxy pattern.
Want to see how to implement the Proxy pattern in your Java code? This video will show you what you need to know. Additionally, you can download the source code used in this video.
This video shortly describes the design patterns under the behavioural patterns category, which will be described in depth in this module.
This is an introductory video for the Chain of Responsibility pattern.
This is an implementation example of the CoR pattern, using Java.
This is an introduction to the Command design pattern.
In this video you will find an example of implementation for the Command pattern.
This is an introductory video for the concept of Interpreter pattern.
Curious on how to implement the Interpreter pattern in your Java code? This video will show you how to do just that.
This is an introduction to the Iterator design pattern.
This video will show you how to implement the Iterator pattern using Java code.
This video will introduce you to the concept of Mediator pattern.
This video will teach you how to implement the Mediator using Java code.
This video is an introduction to the Memento design pattern.
In this video, you will learn how to implement the Memento pattern.
Watch this video to learn about the Observer pattern.
This introductory video describes you the concept of State pattern.
This video shows how to implement the State pattern in your code.
This video servers as an introduction to the Strategy pattern.
This video proposes an implementation for the Strategy pattern.
This is an introduction to the Template Method pattern.
This video shows you how to implement the Template Method pattern.
This is an introductory video for the Visitor pattern.
In this video you will see an idea for implementing the Visitor pattern.
Curious how to solve common problems in your code? Want to learn more about design patterns to prepare yourself for a technical interview?
Then you came to the right place :).
The objective of this course is to introduce you with all the design patterns that can be implemented in Java.
In this course, you will learn everything about design patterns from each of the three main categories: creational, structural and behavioural.
The main target of this course are beginners which are making their first steps in learning Java programming language. The course is also targetting more advanced students which need to brush up their knowledge on the topic of design patterns.
What is a Design Pattern?
A design pattern is a reusable solution that can be applied to common programming scenarios. As a developer, you will encounter design patterns everywhere. The Java API alone solves most of its programming challenges with different design patterns.
The term has been introduced in the book called Design Patterns: Elements of Reusable Object-Oriented Software, a book published by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, a group of computer scientists known as the Gang of Four.
I hope you will find this course useful and you will use the knowledge gathered from this course in solving design issues in your code.