Softwareentwicklung und Projektmanagement

Welches GoF-Entwurfsmuster sorgt dafür, dass die von einem Objekt abhängigen Objekte automatisch benachrichtigt werden, wenn sich der Zustand dieses Objekts ändert?

  1. AObserver
  2. BSingleton
  3. CAdapter
Antwort und Erläuterung anzeigen

Antwort: A. Observer

Beim Observer-Muster führt das benachrichtigende Objekt (das Subjekt) eine Liste registrierter Objekte, die benachrichtigt werden wollen (Beobachter), und informiert sie alle, wenn sich sein Zustand ändert. Das Subjekt muss die konkreten Klassen der Beobachter nicht kennen, wodurch die Kopplung schwach bleibt. Es eignet sich zum Beispiel für einen Entwurf, der Anzeige, Protokollierung und Alarmverarbeitung informiert, wenn sich ein Sensorwert ändert. Singleton ist ein Muster, das sicherstellt, dass eine Klasse nur eine einzige Instanz hat, und Adapter ein Muster, das eine nicht passende Schnittstelle umsetzt, damit Klassen zusammenarbeiten können.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. Ein Werkzeug zur statischen Analyse wird auf den Quellcode einer Firmware angewendet. Welches Problem lässt sich damit am ehesten finden, ohne das Programm auszuführen?
  2. Welche Beschreibung trifft auf den Black-Box-Test zu?
  3. Ein Eingabefeld akzeptiert nur ganze Zahlen; Werte von 1 bis einschließlich 100 werden angenommen, alle anderen führen zu einem Fehler. Wie viele Äquivalenzklassen ergeben sich insgesamt (gültige und ungültige zusammen), wenn die Eingaben durch Äquivalenzklassenbildung aufgeteilt werden?
  4. Ein Programm legt den Eintrittspreis nach dem Alter (einer ganzen Zahl ab 0) fest: 0 bis 17 Jahre zahlen den Kinderpreis, 18 bis 64 Jahre den Normalpreis und ab 65 Jahren den Seniorenpreis. Welche Testwerte sind für eine Grenzwertanalyse, die die Grenzen prüft, an denen die Preiskategorie wechselt, am geeignetsten?
  5. Die Spezifikation lautet „Warnung ausgeben, wenn die Temperatur 85 °C oder höher ist“, in der Firmware steht aber versehentlich „if (t > 85)“. Die Temperatur t ist eine ganze Zahl. Mit welchem der folgenden Testwerte lässt sich dieser Fehler finden?