Book Image

Hands-On Design Patterns with Java

By : Dr. Edward Lavieri
2 (1)
Book Image

Hands-On Design Patterns with Java

2 (1)
By: Dr. Edward Lavieri

Overview of this book

Java design patterns are reusable and proven solutions to software design problems. This book covers over 60 battle-tested design patterns used by developers to create functional, reusable, and flexible software. Hands-On Design Patterns with Java starts with an introduction to the Unified Modeling Language (UML), and delves into class and object diagrams with the help of detailed examples. You'll study concepts and approaches to object-oriented programming (OOP) and OOP design patterns to build robust applications. As you advance, you'll explore the categories of GOF design patterns, such as behavioral, creational, and structural, that help you improve code readability and enable large-scale reuse of software. You’ll also discover how to work effectively with microservices and serverless architectures by using cloud design patterns, each of which is thoroughly explained and accompanied by real-world programming solutions. By the end of the book, you’ll be able to speed up your software development process using the right design patterns, and you’ll be comfortable working on scalable and maintainable projects of any size.
Table of Contents (15 chapters)
Free Chapter
1
Section 1: Introducing Design Patterns
4
Section 2: Original Design Patterns
8
Section 3: New Design Patterns

Understanding the stateless design pattern

When we implement the stateless design pattern, we create classes and objects that do not retain state changes. In this approach, each use of the object, as an example, uses the object in its organic form. In our context, state refers to the values of the object's variables. So, there is no definitive list of states. The state of an object is specific to a moment in time.

Implementing the stateless design pattern is appropriate for the following cases:

  • When we want to clone services
  • When the current state of an object dictates that object's behavior
  • When object behavior is a runtime decision and that behavior is state-dependent
  • When you want to process the state of an object as if it were an object

In the next section, we will review the UML class diagram for an implementation of the stateless reactive design pattern.

...