Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

S INGLETON P ATTERN IN M ATLAB By Giuseppe 1-2008.

Ähnliche Präsentationen


Präsentation zum Thema: "S INGLETON P ATTERN IN M ATLAB By Giuseppe 1-2008."—  Präsentation transkript:

1 S INGLETON P ATTERN IN M ATLAB By Giuseppe 1-2008

2 I NAHLT Einführung Anwendung UML Design Theoretische Implementierung in Matlab Praktische Implementierung in Matlab Quellen

3 S INGLETON P ATTERN Singleton = Einzelstück Erzeugungsmuster (engl. Creational Patterns ) erstellt nur ein Objekt der Klasse hat einen globalen Zugriffspunkt über statische Methode spart die Ressourcen für die mehrmalige Erstellung des gleichen Objekts

4 A NWENDUNGS B EISPIELE Druckaufträge, die zu einem Drucker gesendet werden, sollen nur in einen einzigen Puffer geschrieben werden. Verbindungsobjekt (z. B. zu einer Datenbank oder zu einer anderen Datenquelle  Fred, Bloomberg…) LogWriter - Objekt, das die Log-Messages in eine Datei schreibt. Utilities Objekt, das bereichsspezifische Funktionalitäten bereitstellt (z. B. ein StringUtils- Object der spezifische Funktionalitäten für die Verarbeitung der Strings bereitstellt)

5 UML D ESIGN – K LASSEN D IAGRAMM - Singleton() +static getInstance() : Singleton - obj: Singleton Singelton öffentliche Statische Methode getInstance() …liefert ein Objekt der Klasse Singleton privater Konstruktor statisches Attribut speichert ein einziges Objekt der Klasse Singleton Matlab kennt keine statische Attribute. Anstatt diesen werden die persistente Variablen benutzt. Sie werden nicht in der Attributbereich der Klasse definiert, sondern innerhalb der Funktion. Die Inhalte solcher Variabler sind bei jedem Funktionsaufruf vorhanden.

6 T HEORETISCHE M ATLAB I MPLEMENTIERUNG Klassen Konstruktor mit dem Zugriffsrecht der auf Privat gesetzt ist. Statische Funktion (diese kann man aufrufen ohne eine Instance der Klasse zu generieren, das bedeutet von überall aus) Wenn noch keine Instanz vorhanden, wird eine neue generiert und persistent gespeichert. Persistente (statische) Variable. Speichert die Instanzen der Klasse Wenn eine Instanz existiert, wird sie zurückgegeben.

7 T HEORETISCHE M ATLAB I MPLEMENTIERUNG - T EST Erster Aufruf mit cSingleton.getInstance() liefert die erste Instance der Klasse cSingelton. Beim einem Versuch ein Objekt der Klasse direkt mittels Konstruktor zu erstellen, bekommt man eine Fehlermeldung. Der Zugriff auf diesen ist nur über die getInstance()-Methode möglich (und somit zwingend) Bei jedem nächsten Aufruf, bekommt man das alte (vorhin erstellte) Objekt returniert.

8 P RAKTISCHE M ATLAB I MPLEMENTIERUNG SimpleLogWriter Private Methode zum Schreiben einer Nachricht in das File Privates Konstruktor Statische Methode, stellt den einzigen Zugang zur Klasse und deren Methoden

9 P RAKTISCHE M ATLAB I MPLEMENTIERUNG - T EST SimpleLogWriter Die Statische Methode über den Klassennamen aufrufen Nicht vergessen den Pfad zum log-File zu definieren Und danach noch vier mal… Das Ergebnis – log.txt

10 Q UELLEN http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuste r)


Herunterladen ppt "S INGLETON P ATTERN IN M ATLAB By Giuseppe 1-2008."

Ähnliche Präsentationen


Google-Anzeigen