From b497d41f61b43e188f43fa0f3f70b3a2e164bb76 Mon Sep 17 00:00:00 2001 From: DRad Date: Mon, 29 Jul 2019 20:21:07 +0200 Subject: [PATCH] Modify Observer pattern UML (#877) --- observer/README.md | 2 +- observer/etc/observer.png | Bin 20227 -> 18867 bytes observer/etc/observer.ucls | 40 ++++++++++++++++++++++--------------- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/observer/README.md b/observer/README.md index 38a28032f..afeb0b37d 100644 --- a/observer/README.md +++ b/observer/README.md @@ -19,7 +19,7 @@ Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. -![alt text](./etc/observer_1.png "Observer") +![alt text](./etc/observer.png "Observer") ## Applicability Use the Observer pattern in any of the following situations diff --git a/observer/etc/observer.png b/observer/etc/observer.png index 40f112d03217b68755ad451d328716657522313c..f2ab0edfeb2159992c40c7fc3b684d4a0f7e02cd 100644 GIT binary patch literal 18867 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 literal 20227 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 Mr>mdKI;Vst0Mv@py8r+H diff --git a/observer/etc/observer.ucls b/observer/etc/observer.ucls index 87a3dd216..ac1d267f8 100644 --- a/observer/etc/observer.ucls +++ b/observer/etc/observer.ucls @@ -1,9 +1,9 @@ - + - + @@ -12,7 +12,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -48,28 +48,36 @@ - - + + + + + + + + + + - + - - + + + + + + - - - -