This workshop guides you through a space mission project. As you work through the project, you'll learn how to create efficient, scalable solutions that ensure smooth operations, from the launch to interplanetary communication. By the end, you'll have a hands-on understanding of 19 design patterns that help solve real problems.
- intermediate understanding of Java
- JDK 21
- an IDE of your choice
This workshop will have you pass through a series of test classes. The patterns are located in the src/main/java/patterns
directory.
Each class will guide you through a specific design pattern. Every pattern is paired with a test class in the src/test/java/tests
directory. In you will find a test which showcases the pattern, alongside a disabled todo test. Your task is to complete the todo. You are
free to experiment with the pattern.
You can either the tests in order or jump to a specific design pattern you want to learn about.
Creational patterns focus on object creation mechanisms, providing flexible ways to instantiate objects. They abstract the instantiation process, making it easier to manage complex creation logic
Structural patterns deal with the composition of classes or objects, simplifying the design by identifying reusable structures. They help in creating robust and maintainable systems by promoting flexibility and reusability.
Behavioral patterns concentrate on communication between objects, defining clear interaction protocols. They encapsulate common interaction patterns, making it easier to manage and modify object collaborations.