Complete Guide to Java Design Patterns: Creational, Behavioral, and Structural

Complete Guide to Java Design Patterns: Creational, Behavioral, and Structural

5h 8mIntermediate2024-03-29

Authors

Bethan Palmer

Bethan Palmer

Developer

Course details

In this course, developer Bethan Palmer guides you through using creative, behavioral, and structural design patterns in Java. Find out how design patterns help you write cleaner, more elegant code, and explore a wide range of patterns with real world examples. Practice and reinforce what you learn with hands-on challenges in each chapter.

Skills covered

Software DesignJavaOracleProgramming LanguagesSoftware DevelopmentDeep Dive (X:Y)

Concepts

Introduction

  • Improve your code with design patterns
  • What you should know

Design Patterns

  • What is a design pattern

Creational Design Patterns

  • What are creational design patterns

The Builder Pattern

  • Avoiding complex constructors
  • Recognize where to use the Builder pattern
  • Implement a complete Builder pattern
  • Improving the Builder pattern
  • Challenge - The Builder pattern
  • Solution - The Builder pattern

The Singleton Pattern

  • When to use the Singleton pattern
  • Implementing the Singleton pattern
  • Thread safety with the Singleton pattern
  • Challenge - The Singleton pattern
  • Solution - The Singleton pattern

The Prototype Pattern

  • Understand the Prototype pattern
  • Implement the Prototype pattern
  • Handling mutability
  • Challenge - The Prototype pattern
  • Solution - The Prototype pattern

The Factory Method

  • Understand the Factory Method pattern
  • Implement the Factory Method pattern
  • Improve the Factory Method pattern with functional programming
  • Challenge - The Factory Method pattern
  • Solution - The Factory Method pattern

Abstract Factories

  • Understand abstract factories
  • Recognize where to use abstract factories
  • Create factories for families of objects
  • Implement the complete Abstract Factory pattern
  • Challenge - The Abstract Factory pattern
  • Solution - The Abstract Factory pattern

Structural Design Patterns

  • What are structural design patterns

The Adapter Pattern

  • Understand the Adapter pattern
  • Implement the object Adapter pattern
  • Implement the class Adapter pattern
  • Challenge - The Adapter pattern
  • Solution - The Adapter pattern

The Bridge Pattern

  • Understand the Bridge pattern
  • Implement the Bridge pattern
  • Challenge - The Bridge pattern
  • Solution - The Bridge pattern

The Composite Pattern

  • Understand the Decorator pattern
  • Change behavior dynamically with a decorator
  • Challenge - The Decorator pattern
  • Solution - The Decorator pattern

The Decorator Pattern

  • Understand the Decorator pattern
  • Change behavior dynamically with a decorator
  • Add multiple decorations to an object
  • Challenge - The Decorator pattern
  • Solution - The Decorator pattern

The Facade Pattern

  • Understand the Facade pattern
  • Implement the Facade pattern
  • Challenge - The Facade pattern
  • Solution - The Facade pattern

The Flyweight Pattern

  • Understand the Flyweight pattern
  • Implement the Flyweight pattern
  • Challenge - The Flyweight pattern
  • Solution - The Flyweight pattern

The Proxy Pattern

  • Understand the Proxy pattern
  • Recognize where to use the Proxy pattern
  • Use a proxy to create objects on demand
  • Use a proxy to control access
  • Challenge - The Proxy pattern
  • Solution - The Proxy pattern

Behavioral Design Patterns

  • What are behavioral design patterns

The Chain of Responsibility Pattern

  • Understand the Chain of Responsibility pattern
  • Recognize where to use the Chain of Responsibility pattern
  • Implement a successor chain
  • Challenge - The Chain of Responsibility pattern
  • Solution - The Chain of Responsibility pattern

The Command Pattern

  • Understand the Command pattern
  • Implement the Command pattern
  • Use the Command pattern to delay operations
  • Challenge - The Command pattern
  • Solution - The Command pattern

The Interpreter Pattern

  • Understand the Interpreter pattern
  • Creating an interpreter for a language
  • Interpreting a variable
  • Challenge - The Interpreter pattern
  • Solution - The Interpreter pattern

The Iterator Pattern

  • Understand the Iterator pattern
  • Create an Iterable
  • Create an Iterator
  • Challenge - The Iterator pattern
  • Solution - The Iterator pattern

The Mediator Pattern

  • Understand the Mediator pattern
  • Avoid tight coupling between objects
  • Create a Mediator object
  • Challenge - The Mediator pattern
  • Solution - The Mediator pattern

The Memento Pattern

  • Understand the Memento pattern
  • Restoring an object's state
  • Challenge - The Memento pattern
  • Solution - The Memento pattern

The Observer Pattern

  • Understand the Observer pattern
  • Implementing an Observer
  • Implementing an Observable
  • Challenge - The Observer pattern
  • Solution - The Observer pattern

The State Pattern

  • Understand the State pattern
  • Avoiding multiple if-else statements
  • Allowing an object to change its behavior
  • Challenge - The State pattern
  • Solution - The State pattern

The Strategy Pattern

  • Understand the Strategy pattern
  • Implement the Strategy pattern
  • Improve the Strategy pattern
  • Challenge - The Strategy pattern
  • Solution - The Strategy pattern

The Template Method Pattern

  • Understand the Template Method pattern
  • Implement the Template Method pattern
  • Challenge - The Template Method pattern
  • Solution - The Template Method pattern

The Visitor Pattern

  • Understand the Visitor pattern
  • Implement the Visitor pattern
  • Challenge - The Visitor pattern
  • Solution - The Visitor pattern

Conclusion

  • Next steps
100,000 Toman