designpattern:mvc:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
designpattern:mvc:start [2025/02/14 07:14] – [Weitere Design Patterns ("Entwurfsmuster", "Architekturmuster")] Martin Pabst | designpattern:mvc:start [2025/02/14 07:23] (aktuell) – [Beispiel: Button, der Klicks zählt] Martin Pabst | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
{{ : | {{ : | ||
Das **Observer-Muster** dient der **Benachrichtigung anderer** (von einem Objekt abhängiger) **Objekte über Änderungen**. Die zu beobachtende Klasse (**Subject**) verfügt hierzu über die **Möglichkeit, | Das **Observer-Muster** dient der **Benachrichtigung anderer** (von einem Objekt abhängiger) **Objekte über Änderungen**. Die zu beobachtende Klasse (**Subject**) verfügt hierzu über die **Möglichkeit, | ||
- | Ein [[https:// | + | Ein [[https:// |
</ | </ | ||
Zeile 63: | Zeile 63: | ||
} | } | ||
- | class View extends Rectangle implements | + | class View extends Rectangle implements |
Text text; | Text text; | ||
- | | + | |
Model model; | Model model; | ||
Zeile 140: | Zeile 140: | ||
<script type=" | <script type=" | ||
- | interface | + | interface |
void onChange(); | void onChange(); | ||
} | } | ||
Zeile 149: | Zeile 149: | ||
| | ||
- | | + | |
| | ||
Zeile 163: | Zeile 163: | ||
* ChangeListener registrieren | * ChangeListener registrieren | ||
*/ | */ | ||
- | | + | |
changeListenerList.add(listener); | changeListenerList.add(listener); | ||
} | } | ||
Zeile 170: | Zeile 170: | ||
* ChangeListener deregistrieren | * ChangeListener deregistrieren | ||
*/ | */ | ||
- | | + | |
changeListenerList.remove(listener); | changeListenerList.remove(listener); | ||
} | } | ||
Zeile 179: | Zeile 179: | ||
*/ | */ | ||
| | ||
- | for(ChangeListener | + | for(MyChangeListener |
| | ||
} | } |
designpattern/mvc/start.1739517274.txt.gz · Zuletzt geändert: 2025/02/14 07:14 von Martin Pabst