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

Slides:



Advertisements
Ähnliche Präsentationen
Allgemeines Name: Ursprünglich: „Personal Home Page Tools“
Advertisements

der Universität Oldenburg
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Objektorientierte Programmierung
Design Patterns- Entwurfsmuster
HG13_ Herzgen, Jung & Lorkowski
Sequenzdiagramm.
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Programmieren mit JAVA
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Objektorientierte Programmierung
Software Design Patterns Creational Patterns Structural Patterns Behavioral Patterns –Behavioral Class Patterns Interpreter Template Method Pattern –Behavioral.
Einführung in Visual C++
Packages Vortrag : Cornelia Hardt 23. November 1999.
C++ Vererbung und Polymorphie
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
Einführung in die Programmierung Klassendefinition und Objekte
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Die Persistenzschicht
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Typo3 Templates und TypoScript
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Einfache OQL-Ausdrücke (1) Literale und Objekte können direkt konstruiert werden; gültige Ausdrücke und ihre Typen sind z.B.: "Quader77": string struct(x:1.0,
Objectives Verstehen was unterDelegate verstanden wird
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
se_8_statische_klassen.ppt1 Softwareengineering Statische Klassen Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Programmiervorkurs WS 2014/15 Instanzmethoden
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Objektorientierte Programmierung (OOP)
Vererbung. Klassen - Vererbung  Eine Klasse kann von einer Basisklasse abgeleitet werden  Die abgeleitete Klasse erbt die Eigenschaften und Methoden.
Java Programme nur ein bisschen objektorientiert.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
C++ FÜR cOMPUTERSPIELENTWICKLER
File Objekt
Einführung in die Programmierung mit Java
Einführung in die Programmierung
Grundkurs Informatik 11-13
Implementieren von Klassen
Grundkurs Informatik 11-13
 Präsentation transkript:

S INGLETON P ATTERN IN M ATLAB By Giuseppe

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

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

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)

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.

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.

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.

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

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

Q UELLEN r)