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

Observing the observer pattern

The observer design pattern requires a one-to-many object dependency. The purpose of the dependency is to update subscriber objects when a change is made to the publisher object's state. An example is an online university course discussion forum. There is one forum and many subscribers. When an update to the forum is made, the subscribers are notified. Subscribers have the option of unsubscribing when they no longer want to be notified of changes to the discussion forum.

We will look at an example use case, the UML class diagram, and the source code necessary to implement the observer design pattern for this scenario.

Use case

We will utilize the discussion forum example to demonstrate the...