NY State-Licensed Certificates in Design, Coding & AI — Online
Future-Proof Your Career: AI Manager Masterclass
Overview
Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Learn how to use creative, behavioral, and structural design patterns in your Java code.
Syllabus
Introduction
- Improve your code with design patterns
- What you should know
- What is a design pattern?
- What are creational design patterns?
- 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
- When to use the Singleton pattern
- Implementing the Singleton pattern
- Thread safety with the Singleton pattern
- Challenge: The Singleton pattern
- Solution: The Singleton pattern
- Understand the Prototype pattern
- Implement the Prototype pattern
- Handling mutability
- Challenge: The Prototype pattern
- Solution: The Prototype pattern
- 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
- 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
- What are structural design patterns?
- Understand the Adapter pattern
- Implement the object Adapter pattern
- Implement the class Adapter pattern
- Challenge: The Adapter pattern
- Solution: The Adapter pattern
- Understand the Bridge pattern
- Implement the Bridge pattern
- Challenge: The Bridge pattern
- Solution: The Bridge pattern
- Understand the Composite pattern
- Implement the Composite pattern
- Challenge: the Composite pattern
- Solution: the Composite 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
- Understand the Facade pattern
- Implement the Facade pattern
- Challenge: The Facade pattern
- Solution: The Facade pattern
- Understand the Flyweight pattern
- Implement the Flyweight pattern
- Challenge: The Flyweight pattern
- Solution: The Flyweight 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
- What are behavioral design patterns?
- 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
- Understand the Command pattern
- Implement the Command pattern
- Use the Command pattern to delay operations
- Challenge: The Command pattern
- Solution: The Command pattern
- Understand the Interpreter pattern
- Creating an interpreter for a language
- Interpreting a variable
- Challenge: The Interpreter pattern
- Solution: The Interpreter pattern
- Understand the Iterator pattern
- Create an Iterable
- Create an Iterator
- Challenge: The Iterator pattern
- Solution: The Iterator pattern
- Understand the Mediator pattern
- Avoid tight coupling between objects
- Create a Mediator object
- Challenge: The Mediator pattern
- Solution: The Mediator pattern
- Understand the Memento pattern
- Restoring an object's state
- Challenge: The Memento pattern
- Solution: The Memento pattern
- Understand the Observer pattern
- Implementing an Observer
- Implementing an Observable
- Challenge: The Observer pattern
- Solution: The Observer 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
- Understand the Strategy pattern
- Implement the Strategy pattern
- Improve the Strategy pattern
- Challenge: The Strategy pattern
- Solution: The Strategy pattern
- Understand the Template Method pattern
- Implement the Template Method pattern
- Challenge: The Template Method pattern
- Solution: The Template Method pattern
- Understand the Visitor pattern
- Implement the Visitor pattern
- Challenge: The Visitor pattern
- Solution: The Visitor pattern
- Next steps
Taught by
Bethan Palmer