Unravel the power of Java design patterns by learning where to apply them effectively to solve specific software design and development problems
Key Features
- Decouple logic across objects with dependency injection by creating various vehicles with features
- Finalize vehicle construction by chaining handlers using the Chain of Responsibility Pattern
- Plan and execute an advanced vehicle sensor initiation with the Scheduler Pattern
Book Description
Design patterns are proven solutions to standard problems in software design and development, allowing you to create reusable, flexible, and maintainable code. This book enables you to upskill by understanding popular patterns to evolve into a proficient software developer.
You'll start by exploring the Java platform to understand and implement design patterns. Then, using various examples, you'll create different types of vehicles or their parts to enable clarity in design pattern thinking, along with developing new vehicle instances using dedicated design patterns to make the process consistent. As you progress, you'll find out how to extend vehicle functionalities and keep the code base structure and behavior clean and shiny. Concurrency plays an important role in application design, and you'll learn how to employ a such design patterns with the visualization of thread interaction. The concluding chapters will help you identify and understand anti-pattern utilization in the early stages of development to address refactoring smoothly. The book covers the use of Java 17+ features such as pattern matching, switch cases, and instances of enhancements to enable productivity.
By the end of this book, you'll have gained practical knowledge of design patterns in Java and be able to apply them to address common design problems.
What you will learn
- Understand the most common problems that can be solved using Java design patterns
- Uncover Java building elements, their usages, and concurrency possibilities
- Optimize a vehicle memory footprint with the Flyweight Pattern
- Explore one-to-many relations between instances with the observer pattern
- Discover how to route vehicle messages by using the visitor pattern
- Utilize and control vehicle resources with the thread-pool pattern
- Understand the penalties caused by anti-patterns in software design
Who this book is for
If you are an intermediate-level Java developer or software architect looking to learn the practical implementation of software design patterns in Java, then this book is for you. No prior knowledge of design patterns is required, but an understanding of Java programming is necessary.
Table of Contents
- Getting Into Software Design Patterns
- Discovering the Java Platform for Design Patterns
- Working with Creational Design Patterns
- Applying Structural Design Patterns
- Behavioral Design Patterns
- Concurrency Design Patterns
- Understanding Common Anti-Patterns