docs: poison pill and private class data diagrams

This commit is contained in:
Ilkka Seppälä
2025-04-09 21:33:13 +03:00
parent fdd07c772c
commit 261da00a1b
6 changed files with 12 additions and 5 deletions
+4 -4
View File
@@ -29,6 +29,10 @@ In plain words
> Poison Pill is a known message structure that ends the message exchange.
Sequence diagram
![Poison Pill sequence diagram](./etc/poison-pill-sequence-diagram.png)
## Programmatic Example of Poison Pill Pattern in Java
In this Java example, the Poison Pill serves as a shutdown signal within message queues, demonstrating effective thread management and consumer communication.
@@ -210,10 +214,6 @@ Program output:
07:43:01.520 [Thread-0] INFO com.iluwatar.poison.pill.Consumer -- Consumer CONSUMER_1 receive request to terminate.
```
## Detailed Explanation of Poison Pill Pattern with Real-World Examples
![Poison Pill](./etc/poison-pill.png "Poison Pill")
## When to Use the Poison Pill Pattern in Java
Use the Poison Pill idiom when:
Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

-1
View File
@@ -33,7 +33,6 @@ Architecture diagram
![Presentation Model Architecture Diagram](./etc/presentation-model-architecture-diagram.png)
## Programmatic Example of Presentation Model Pattern in Java
The Presentation Model design pattern is a pattern that separates the responsibility of managing the state and behavior of the GUI in a separate model class. This model class is not tied to the view and can be used to test the GUI behavior independently of the GUI itself.
+8
View File
@@ -33,6 +33,14 @@ Wikipedia says
> Private class data is a design pattern in computer programming used to encapsulate class attributes and their manipulation.
Mind map
![Private Class Data mind map](./etc/private-class-data-mind-map.png)
Flowchart
![Private Class Data flowchart](./etc/private-class-data-flowchart.png)
## Programmatic Example of Private Class Data Pattern in Java
Imagine you are cooking a stew for your family dinner. You want to stop your family members from tasting the stew while you're still preparing it. If they do, there might not be enough stew left for dinner.
Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB