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
Section 1: Introducing Design Patterns
Section 2: Original Design Patterns
Section 3: New Design Patterns

Understanding the idempotency design pattern

In computer science, the term idempotent means an element whose value remains unchanged after repeated calculation. Consider the example of a hospital information system that adds one day to the length of stay for a patient record. It would be important that the system performs the addition the first time and ignore other requests within the calendar day.

To provide an example of this design pattern, we will create a hospital information system that maintains patient records. Each time an event occurs with a patient, a message is sent to update the number of days the patient has been in the hospital. It is important that we do not count the patient as being at the hospital more than once per day, to avoid overcharges.

The source code for the implementation of the idempotency design pattern is provided in the next section.