Deutsche Ausgabe. Die Kraft von C# voll ausschöpfen! C# 3.0. Entwurfsmuster. Judith Bishop. O Reilly. Deutsche Übersetzung von Thomas Demmig
|
|
- Eva Hoch
- vor 6 Jahren
- Abrufe
Transkript
1 Die Kraft von C# voll ausschöpfen! Deutsche Ausgabe C# 3.0 Entwurfsmuster O Reilly Judith Bishop Deutsche Übersetzung von Thomas Demmig
2 First Inhalt Vorwort Einleitung VII XI 1 C# trifft auf Entwurfsmuster Über Muster Über UML Über C# Zu den Beispielen Strukturelle Muster: Dekorierer, Proxy und Brücke Dekorierer-Muster Proxy-Muster Brücken-Muster Beispiel: OpenBook Vergleich der Muster Strukturmuster: Kompositum und Fliegengewicht Kompositum-Muster Fliegengewicht-Muster Übungen Vergleich der Muster Strukturmuster: Adapter und Fassade Adapter-Muster Fassade-Muster Vergleich der Muster Erzeugungsmuster: Prototyp, Fabrikmethode und Singleton Prototyp-Muster Fabrikmethoden-Muster V
3 Singleton-Muster Vergleich der Muster Links 6 Erzeugungsmuster: Abstrakte Fabrik und Erbauer Abstrakte-Fabrik-Muster Erbauer-Muster Vergleich der Muster Verhaltensmuster: Strategie, Zustand und Schablonenmethode Strategie-Muster Zustand-Muster Schablonenmethode-Muster Vergleich der Muster Verhaltensmuster: Zuständigkeitskette und Befehl Zuständigkeitskette-Muster Befehl-Muster Vergleich der Muster Verhaltensmuster: Iterator, Vermittler und Beobachter Iterator-Muster Vermittler-Muster Beobachter-Muster Besprechung und Vergleich der Muster Verhaltensmuster: Besucher, Interpreter und Memento Besucher-Muster Interpreter-Muster Memento-Muster Vergleich der Muster Die Zukunft der Entwurfsmuster Zusammenfassung der Muster Die Zukunft der Entwurfsmuster Abschließende Bemerkungen Anhang Literatur Index VI Inhalt
4 First Kapitel 1 KAPITEL 1 Hier Mini IVZ eingeben! C# trifft auf Entwurfsmuster Erstellen auf den Arbeitsseiten (siehe Muster) Abstand untere Tabellenlinie zu Textanfang 1,8 cm -> also: manuell auf den Arbeitsseiten ziehen!!! Was macht einen erfolgreichen und glücklichen Programmierer aus? Was trägt zu diesem wundervollen»gotcha«-gefühl bei, wenn Ihr Programm sich schließlich kompilieren lässt, korrekt läuft und Sie wissen, dass es so elegant wie möglich ist? Wie haben Sie dafür gesorgt, dass das Programm elegant ist, während es gleichzeitig all die anderen Wünsche erfüllt (Flexibilität, Wartbarkeit, Zuverlässigkeit und Wiederverwendbarkeit, um nur ein paar zu nennen)? Und warum erreichen manche Programmierer diese Stufe der Eleganz so viel schneller als andere? Es wäre einfach zu sagen, dass manche zum Programmieren geboren wurden und andere nicht. Selbst die besten Programmierer sitzen Stunden oder sogar Tage vor einem einzigen Codeabschnitt, weil sie wissen, dass er noch nicht richtig ist, sie aber nicht wissen, wie es besser geht. Die Antwort ist, dass ein erfolgreicher Programmierer zwei Hauptwerkzeuge besitzt: eine gute Programmiersprache und Entwurfsmuster. Dieses Buch soll dazu dienen, Ihnen zu zeigen, wie dieses Paar ineinandergreift, um aus einfachen Programmierern echte Experten zu machen. Diejenigen, die langjährige Programmiererfahrung besitzen, wissen es zu schätzen, dass eine Sprache mit der Zeit besser wird. Einfache Dinge, die wir heute als gegeben hinnehmen wie zum Beispiel die Typprüfung von Variablen gab es in den Sprachen der 1970er Jahre nicht oder sie waren optional. Die Objektorientierung, die die Grundlage der heutigen Programmierung ist, kam erst in den 1990ern in Mode, und Generics auf denen unsere modernen Collection-Klassen für Stacks, Maps und Listen basieren waren vor fünf Jahren noch ein Forschungsprojekt. Erfolgreiche Programmierer halten sich über Verbesserungen in den Sprachen auf dem Laufenden, aber oft ist es selbst für einen erfahrenen Entwickler nicht offensichtlich, wie ein bestimmtes neues Feature nützlich sein wird. Manche Features, wie die automatischen Eigenschaften (Kapitel 3) und Collection-Initialisierer (Kapitel 3), werden sehr wahrscheinlich sofort in Ihrer Werkzeugkiste einen Platz finden, während andere, wie die Extension-Methoden (Kapitel 2) doch eher abstrakt zu sein scheinen. 1
5 Man braucht Beispiele, um die Nützlichkeit vieler neu entstandener Sprachfeatures deutlich zu machen aber während Beispiele illustrieren, können sie gleichzeitig auch verwirrend sein, da sie sich immer nur um die Lösung bestimmter Probleme drehen. Stellen Sie sich ein Beispiel vor, in dem gezeigt wird, wie Iteratoren in einem Programm zum Familienstammbaum genutzt werden (Kapitel 9): Würden Sie die Iteratoren für ein Chatraum-Programm verwenden können? Die Verbindung ist nicht immer offensichtlich und kann leicht übersehen werden. Da kommen die Entwurfsmuster ins Spiel, die solche Verbindungen bestens knüpfen können. Links Entwurfsmuster beschreiben häufig genutzte Wege beim Lösen von Problemen, wobei sie die verschiedenen Features einer Sprache gemeinsam verwenden. Entwurfsmuster sind eine High-Level-Sprache für Diskurse. Sie helfen Programmierern, ihre Systeme und Lösungen für häufig auftretende Probleme zu beschreiben. Diese Sprache besteht aus den Namen der erkennbaren Muster und ihrer Elemente. Die richtige und intelligente Anwendung von Mustern leitet einen Programmierer beim Design eines Systems, das sich an bewährten Vorgehensweisen orientiert, ohne dabei Innovationen zu unterdrücken. Auf dem Programmierermarkt verbessern die Entwurfsmuster die Flexibilität der Entwickler und den Wert ihres Wissens, da sie eine gemeinsame erkennbare Basis für das Bearbeiten von Problemen darstellen. Die Muster haben beschreibende Namen und werden durch Diagramme erläutert, die die Rollen ihrer Teilnehmer aufzeigen. Es gibt nur 23 klassische Muster (weniger als Buchstaben im Alphabet), und ein guter Programmierer kann die Namen und die Anwendungsbereiche aller dieser Muster mit ein wenig Übung lernen. Wenn solche Programmierer dann vor Designentscheidungen stehen, sind sie nicht länger nur auf die Auswahl von Sprachfeatures beschränkt, wie zum Beispiel Vererbung, Interfaces oder Delegates. Sie können stattdessen in einem größeren Maßstab entscheiden: Ein Blog würde zu einem Beobachter-Muster passen (Kapitel 9), ein Community-Network-System bräuchte einen Proxy (Kapitel 2) und so weiter. Entscheidungen werden immer noch getroffen, aber auf einer höheren Ebene. Wer entscheidet also, wie ein Entwurfsmuster in einer bestimmten Sprache implementiert wird? Bücher wie dieses hier und Artikel auf Websites stellen Implementierungen der Muster vor, wobei sie auch noch Empfehlungen geben, wie man ein Muster wählt und welche der eventuell vorhandenen alternativen Implementierungen gewählt werden sollte. Aber alte Zöpfe werden nicht gerne abgeschnitten, und die Muster werden häufig nur anhand der Sprachelemente der 1980er Jahre präsentiert. Nicht so in diesem Buch. C# 3.0 Entwurfsmuster hat als Ziel, die 23 klassischen Muster im bestmöglichen C# 3.0-Stil zu präsentieren, so dass das, was Sie hier lernen, Ihnen noch viele Jahre lang von echtem Wert sein wird. 2 Kapitel 1: C# trifft auf Entwurfsmuster
6 Rechts Über Muster Entwurfsmuster wurden von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides in ihrem bedeutenden Buch Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software (Addison-Wesley) vorgestellt. Das Buch definiert und beschreibt 23 Muster, die die Grundlage aller Untersuchungen zu diesem Thema bilden und heute immer noch als wichtigste Basismuster gelten. Diese Basismuster drehen sich um Probleme in der normalen objektorientierten Programmierung (OOP), und die ursprünglichen Implementierungen wurden in C++ und Smalltalk vorgenommen (den wichtigsten OOP-Sprachen zur damaligen Zeit). Seitdem haben andere Bücher die Muster in Java, Visual Basic und C# implementiert. Als der Wert des Musterkonzepts allgemein anerkannt worden war, wurden neue Muster vorgeschlagen, die der ursprünglichen Liste hinzugefügt werden sollten. Zudem gibt es nun Muster, die sich auf bestimmte Bereiche anwenden lassen, wie zum Beispiel Softwarearchitektur, Benutzerschnittstellen, Zusammenarbeit und Sicherheit. Auch wenn diese Muster für ihre Bereiche ausgesprochen wichtig sind, zählen sie nicht zum gemeinschaftlichen Musterschatz. Die ursprünglichen Muster wurden bisher nicht erweitert. Wie im Vorwort beschrieben, besteht die Behandlung jedes Musters in diesem Buch aus einer kurzen Beschreibung seiner Rolle, einer Illustration, einer Betrachtung des Designs und der Implementierung und einem Beispiel, gefolgt von einer Vorstellung seiner Anwendungen und ein paar Übungen. Neue Features der Sprache C# werden dort vorgestellt, wo Muster darauf aufbauen. Sie lernen so mehr über die Sprache als über die Muster. Die 23 Muster werden in drei Gruppen unterteilt: erzeugende, strukturelle und Verhaltensmuster. Innerhalb einer Gruppe gibt es allerdings keine inhärente Ordnung, daher wurde meist alphabetisch vorgegangen. In diesem Buch werden wir einen neuen Ansatz wählen und die Muster mit den Sprachelementen in Verbindung bringen, die sie benötigen. Dabei werden sie mit zunehmender Sprachkomplexität vorgestellt. Viele der Muster in jeder Gruppe benötigen nur Vererbung oder Interfaces, und es ist sinnvoll, sich zuerst mit ihnen zu befassen, so dass der Fokus auf den Mustern und nicht auf der Sprache liegt. Die Muster, die weiter fortgeschrittene Sprachfeatures nutzen (Generics, Indexer und Delegates) werden dann später präsentiert. Neue Features von C# können so»on the fly«eingeführt werden, ohne eine zusätzliche Einführung oder einen Anhang. Ein umfassender Index vervollständigt diesen Ansatz. Ein Kernbestandteil jedes Buches über Muster ist die Vorstellung der Muster in realen Anwendungsfällen. Das Wissen, dass das Fassaden-Muster häufig innerhalb des Compilerbaus verwendet wird, oder dass Adapter in vielen grafischen Frameworks immer wieder vorkommen, zeigt ihre Wichtigkeit und hilft bei Hinweisen auf ihre Anwendbarkeit. Aber in großen Systemen werden Muster selten isoliert genutzt. Sie Über Muster 3
7 arbeiten im Gegenteil häufig zusammen. So wird das Singleton-Muster zum Beispiel häufig zusammen mit anderen Mustern genutzt, wenn es wichtig ist, nur eine Version einer Komponente zu erzeugen. Darum wird am Ende jedes Kapitels auch ein Überblick darüber gegeben, wie sich die vorgestellten Muster zueinander verhalten. Links Über UML Ein wichtiger Teil jeder Musterbeschreibung ist ein Klassendiagramm in der Unified Modeling Language 1 (UML). UML ist eine allgemein akzeptierte Form, Software in Diagrammform zu beschreiben. Die Diagramme im Buch nutzen die in Tabelle 1-1 aufgeführten UML-Features. Tabelle 1-1: UML-Notation für Klassendiagramme Programmelement Klasse Diagrammelement Class attribute +operation( ) Bedeutung Typen und Parameter werden angegeben, wenn sie wichtig sind; der Zugriff wird durch + (public), (private) und # (protected) angegeben. Interface <<interface>> IClass +operation( ) Name beginnt mit einem I; wird auch für abstrakte Klassen genutzt. Anmerkung descriptive text Eine Beschreibung oder Anmerkung. Paket Package Eine Gruppe von Klassen und Interfaces. Vererbung B erbt von A. A B 1 Definiert von der Object Management Group (siehe 4 Kapitel 1: C# trifft auf Entwurfsmuster
8 Rechts Tabelle 1-1: UML-Notation für Klassendiagramme (Fortsetzung) Programmelement Diagrammelement Bedeutung Realisierung B implementiert A. A B Assoziation A B A und B rufen die jeweils anderen Elemente auf bzw. greifen auf sie zu. Assoziation (in eine Richtung) A B A kann auf die Elemente von B zugreifen bzw. sie aufrufen, aber nicht umgekehrt. Aggregation A B A hat ein B und B kann auch ohne A überleben. Komposition A B A hat ein B und B hängt von A ab. Es gibt drei Arten von Blöcken, nämlich für Klassen, für Interfaces/abstrakte Klassen und für Pakete. Die Klasse ist das häufigste Diagrammelement und enthält Details einiger der wichtigeren Attribute (oder Felder) und Operationen (oder Methoden) der entsprechenden C#-Klasse. Ein UML-Diagramm soll keine exakte Kopie eines Programms sein, daher werden nur die für das aktuell behandelte Muster wichtigen Elemente angezeigt. Der Zugriff auf alle Attribute und Operationen (private, public oder protected) wird angegeben. Der Standard für Attribute ist private und für Operationen public. Abweichungen vom Standard werden im Zweifelsfall hervorgehoben. Die mit Attributen und Operationen verbundenen Typen werden normalerweise nicht angegeben. Aber wenn sie wichtig sind, können sie nach dem Bezeichner eingefügt werden, wobei sie durch einen Doppelpunkt getrennt sind. Derselbe lockere Ansatz wird für die Parameter von Methoden genutzt, die im Diagramm meist nicht angezeigt werden. Anmerkungen sind sehr nützlich, um Beziehungen zu erläutern, wenn zum Beispiel eine Methode einer Klasse eine bestimmte Methode einer anderen Klasse aufruft und diese Information für das Muster entscheidend ist. In den meisten Fällen sind allerdings die sechs Arten von n ausreichend zur Erläuterung. Das Dekorierer- Muster, das wir als Erstes betrachten werden, hat ein ziemlich gutes Diagramm, das wir nutzen werden, um die n detaillierter zu erläutern. Über UML 5
9 First Hier Mini IVZ eingeben! Index Erstellen auf den Arbeitsseiten (siehe Muster) Numerisch 1-Click-System 101 A Abfrage-Ausdrücke 7, 213 Abstrakte Fabrik Abhängigkeiten 138 Beispiel Gucci und Poochy Beispiel-Code Design 136 Erbauer, Vergleich mit 151 Illustration 135 Implementierung Quiz 137 Rolle 135 Übungen 142 Verwendung 142 Accelerate Framework 82 Accessors 57 Adapter Accelerate Framework und 83 Beispiel CoolBook Beispiel-Code Beispiel Seabird Fassade, Vergleich mit 108 Illustration 82 Implementierung Optionen, Schnittstellen von Adapter und Adaptiertem anzupassen 84, 86 steckbare Adapter Theoretischer Code 85 Übungen 100 Verwendung 98 Zwei-Wege-Adapters 87 Abstand untere Tabellenlinie zu Textanfang 1,8 cm -> also: manuell auf den Arbeitsseiten ziehen!!! addedbehavior (Operation) 13 addedzustand (Attribut) 13 Animation und Sortieren 154 anonyme Methoden 6 anonyme Typen 6, 77 Archive (Befehl) 118 Assembly 29 Authentifizierungs-Proxies 26 Avocado-Beschaffung B Befehl Befehle für mehrere Empfänger 196 Beispiel Menu Handler Design 191 Illustration 191 Implementierung 194 Quiz 194 Receivers 192 Rolle 191 Theoretischer Code 194 mehrere Empfänger Übungen 202 Verwendung 202 Zuständigkeitskette, Vergleich mit 203 Befehle für mehrere Empfänger 196 Beispiel-Programme 7 Beobachter 205, Beispiel Blogs 234 Beispiel-Code Design 229 Illustration 229 Implementierung Multiplizität 232 Push- und Pull-Modelle
10 Links Quiz 231 Rolle 229 Übungen 236 Vermittler, Vergleich mit 238 Verwendung 236 Besucher Client 243 Design 243 Element-Klassen 243 Illustration 241 Interpreter und Memento, Vergleich mit 274 Quiz 245 Rolle 241 Übungen 255 Verwendung 254 Blogs 234 Beispiel-Code Brücke Beispiel Design 41 Quiz 43 Verwendung 49 Brücke pattern Illustration 39 Implementierung 42 Proxy und Dekorierer, Vergleich mit 50 Übung 50 C C# Abfrage-Ausdrücke 213 anonyme Typen 77 Collections initialisieren 185 Delegates 228 Eigenschaften und Accessors 57 Enum-Typen 186 Events 228 Exceptions 188 Generics 56 generische Constraints 139 IEnumerable und IEnumerator 211 implizit typisierte Arrays 76 implizite Typisierung 75 Indexer 71 nullbare Typen 161 Objekt- und Collection-Initialisierer 76 Structs 70 Zugriffsmodifikatoren 29 C#-Sprache 6 Chat Room 224 Colleague (Klasse) 219 Collection-Initialisierer 76 Component (Klasse) 12 Constraints 138 CoolBook Beispiel-Code D Dekorierer Beispiel Foto-Dekorierer Design 12 Grafik und 23 I/O-APIs und 23 Illustration 11 Implementierung 15 mehrere Dekorierer 14 mehrere Komponenten 14 mehrere Operationen 15 mobile Anwendungen und 23.NET 3.0 und 23 Proxy und Brücke, Vergleich mit 50 Quiz 13 Rolle 11 Theoretischer Code 15 Übungen 24 Verwendung 23 Dekorierer (Klasse) 12 dichte Fassaden 106 Display (Methode) 60 E Eigenschaften 57 Einsteiger-Foto-Bibliothek 106 Entwurfsmuster 2 4 drei Gruppen, Einteilung in 3 klassische Muster 3 Ursprung 3 Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software 3 Enumeratoren 207 Enum-Typen 186 Equals (Methode) 60 Erbauer Abstrakte Fabrik, Vergleich mit 151 Illustration 143 Quiz Index
11 Rechts Rolle 143 Übungen 150 Verwendung 150 Erzeugungsmuster 111 Abstrakte Fabrik (siehe Abstrakte Fabrik) Erbauer (siehe Erbauer) Fabriken 135 Fabrikmethode (siehe Fabrikmethode) Prototyp (siehe Prototyp) Singleton (siehe Singleton) Vergleich, Abstrakte Fabrik und Erbauer 151 Vergleich, Singleton und Prototyp 131 Extension-Methoden 6 extrinsischer Zustand 66 F Fabriken 135 Fabrikmethode 111, Beispiel Avocado-Beschaffung Beispiel-Code 123 Design 121 Illustration 121 Implementierung Quiz 123 Rolle 121 Übungen 125 Verwendung 125 Fassade 81, Adapter, Vergleich mit 108 Beispiel Einsteiger-Foto-Bibliothek 106 Design 102 Illustration 101 Implementierung alternative Implementierungen 106 Quiz 103 Rolle 101 Theoretischer Code Übungen 108 Verwendung 107 Find (Methode) 60 Fliegengewicht 53, Beispiel Design 66 genutzte C#-Features 53 Illustration 66 Implementierung Übungen 77 Vergleich mit Kompositum 78 Verwendung Foto-Bibliothek Foto-Dekorierer Foto-Gruppe from-klausel 213 G Generatoren 207 Generics 6, 56 generische Constraints 139 geschachtelte und nicht geschachtelte Klassen 29 GetEnumerator 208 Grafik Dekorierer und 23 H Handler 179, 182 hat-eine-beziehung 13 I I/O-APIs und Dekorierer 23 IComponent (Interface) 12 IEnumerable und IEnumerator 211 implizite Typisierung 6, 75 Indexer 71 Initialisierer 76 Interpreter Beispiel Kursregeln Beispiel-Code Beispiel Mirrors Beispiel-Code Effizienz 263 Besucher und Memento, Vergleich mit 274 Design 257 Parsen 258 Illustration 255 Grammatiken 256 XML-Beschreibung einer GUI 256 Implementierung Quiz 258 Übungen 264 Verwendung 264 into-klausel 213 Index 311
12 Links intrinsischer Zustand 66 ist-ein-beziehung 13 ITarget (Interface) 84 Iterator Beispiel Stammbaum Beispiel-Code Design Illustration 205 Implementierung LINQ-Code 212 Rolle 205 Theoretischer Code 210 Übungen 218 Unterstützung durch die Sprache 237 Verwendung 217 Iteratoren 6 K Klassen-Adapter 83 Klonen 115 Klonen von Klassen 112 Kompositum Beispiel Design 54 genutzt C#-Features 53 Implementierung Quiz 56 Übungen 65 Vergleich mit Fliegengewicht 78 Verwendung 64 Kursregeln Beispiel-Code L Lambda-Ausdrücke 6 let-klausel 213 LINQ (Language INtegrated Query) 205, 212 M Mac OS X Dock 126 Mac OS X, Version für neue Prozessoren 82 Member 29 Memento Beispiel TicTacToe Besucher und Interpreter, Vergleich mit 274 Design 265 Illustration 265 Implementierung Quiz 266 Rolle 264 Theoretischer Code Übungen 274 Verwendung 274 Menu Handler Mirrors Effizienz 263 N Namensräume 29, 57.NET XI nicht gemeinsamer Zustand 66 Non-Terminal 257 NormalState (Klasse) 165 nullbare Typen 6, 161 O Objekt-Adapter 83 Objekt-Initialisierer 6, 76 objektorientierte Programmierung (OOP) 3 OOP (objektorientierte Programmierung) 3 OpenBook Operation 12 orderby-klausel 213 P Parsen 258 partielle Typen 6 Programmierbeispiele 7 Prototyp Beispiel Foto-Archiv 118 Design 112 Illustration 112 Implementierung Quiz 113 Singleton, Vergleich mit 131 Übungen 120 Verwendung 119 Proxy Beispiel Dekorierer und Brücke, Vergleich mit 50 Design Implementierung Quiz 27 Theoretischer Code Übungen 39 Verwendung Index
13 Rechts R Receiver 192 Remote-Proxy 26 Retrieve (Befehl) 118 RPC-Spiel S Schablonenmethode Beispiel 176 Design 173 Illustration 173 Implementierung 176 Quiz 174 Rolle 173 Strategie und Zustand, Vergleich mit 178 Übungen 177 Verwendung 177 Seabird Serialisierung 115 Share (Methode) 118 Singleton Beispiel Singleton-Fassade 130 Design 127 Illustration 126 Implementierung Prototyp, Vergleich mit 131 Quiz 128 Rolle 126 Übungen 131 Verwendung 131 Smart Proxy 27 Sortieralgorithmen 153 Sortier-Animator SpaceBook Stammbaum Beispiel-Code statische Fassaden 106 steckbarer Adapter Beispiel-Code Strategie Beispiel Sortier-Animator Beispiel-Code Design 154 Illustration 153 Implementierung 156 Kernbestandteile 157 Quiz 155 Rolle 153 Sortieren und 153 Theoretischer Code 156 Übungen 162 Verwendung 162 Zustand und Schablonenmethode, Vergleich 178 Structs 70 Strukturmuster 9 Adapter (siehe Adapter) Brücke (siehe Brücke) Dekorierer (siehe Dekorierer) Fassade (siehe Fassade) Fliegengewicht (siehe Fliegengewicht) Kompositum (siehe Kompositum) Namen und Zwecke 9 Proxy (siehe Proxy) Vergleich von Dekorierer, Proxy und Brücke 50 Vergleich von Fassade und Adapter 108 Vergleich von Kompositum und Fliegengewicht 78 Verwendungen 10 T Terminal 257 TicTacToe transparente Fassade 106 Trusty Bank Typen 29 U UML (Unified Modeling Language) 4 Notation Klassendiagramm 4 Unified Modeling Language (siehe UML) V vererbte Klassen 29 Verhaltensmuster 153 Befehl (siehe Befehl) Beobachter (siehe Beobachter) Besucher (siehe Besucher) Interpreter (siehe Interpreter) Iterator (siehe Iterator) Memento (siehe Memento) Schablonenmethode (siehe Schablonenmethode) Strategie (siehe Strategie) Vergleich Besucher, Interpreter und Memento 274 Index 313
14 Vergleich Strategie, Schablonenmethode und Zustand 178 Vergleich Vermittler und Beobachter 238 Vergleich Zuständigkeitskette und Befehl 203 Vermittler (siehe Vermittler) Zustand (siehe Zustand) Zuständigkeitskette (siehe Zuständigkeitskette) Vermittler 205, Beispiel Chat Room 224 Beispiel-Code Chat Room Beobachter, Vergleich mit 238 Design 219 grundlegende Elemente 220 Illustration 218 Implementierung Klassen 219 Quiz 220 Rolle 218 Theoretischer Code Übungen 229 Verwendung 227 Verwendung 142 Views 261 virtuelle Proxies 26 W where-klausel 213 X XML (extended Markup Language) 255 Y yield return (Anweisung) 210 Z Zugriffsmodifikatoren 27 Zustand Beispiel RPC-Spiel Beispiel-Code Context und Zustand 164 Design 164 Illustration 163 Implementierung Quiz 165 Rolle 163 Strategie und Schablonenmethode, Vergleich mit 178 Theoretischer Code 166 Übungen 172 Verwendung 172 Zuständigkeitskette Befehl, Vergleich mit 203 Beispiel Trusty Bank verschiedene Handler 190 Beispiel-Code 188 Design 180 Handler 182 Illustration 179 Implementierung Quiz 181 Rolle 179 Theoretischer Code 182 Übungen 190 Verwendung 190 Zwei-Wege-Adapters 87 Links 314 Index
Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff
Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:
MehrEntwurfsmuster Martin Fesser 00IN
Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrLukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster
Entwurfsmuster Lukas Klich Projektgruppe SHUTTLE Seminar: 28.11.2002 Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1 Motivation Die Menschheit löst Probleme, indem sie beobachtet, Beobachtungen
MehrEntwurfsmuster in Java
Entwurfsmuster in Java Das Observer- und das Decorator-Pattern Friederike Löwe 13. März 2011 Inhaltsverzeichnis Einleitung Wozu eigentlich Entwurfsmuster? Die Grundlage: Design-Prinzipien Das Decorator-Pattern
MehrAuf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
MehrProgrammiertechnik II WS 2017/18
Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18 Überblick OOP: Schnittstellen
MehrProgrammiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik
Programmiertechnik II SS 2017 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel SS 2017 Überblick! OOP: Schnittstellen
MehrPraxisbuch Objektorientierung
Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und
MehrInhaltsverzeichnis. Vorwort Geleitwort von Grady Booch Einleitung... 23
Vorwort.................................................. 17 Geleitwort von Grady Booch................................. 21 Einleitung................................................ 23 1 Einführung...............................................
MehrObjektorientierte Systementwicklung
Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick
MehrStructural Patterns. B. Sc. Andreas Meißner
Structural Patterns B. Sc. Andreas Meißner Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Systeme, Universität Hannover 11/16/2004 Gliederung 1. Wiederholung Entwurfsmuster
MehrObjektorientierte Programmierung
Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was
MehrMatthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing
Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster
MehrDesign Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26
Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
Mehr~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.
~±] 1 C# und das.net-framework 1 1.1 Ähnlichkeiten zwischen C# und Java 1 1.2 Unterschiede zwischen C# und Java 2 1.3 Das.NET-Framework 4 1.4 Übungsaufgaben 9 2 Erste Schritte 11 2.1 Hello World 11 2.2
MehrEntwurfsmuster. Marc Monecke
Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen
MehrPHP OOP, Design Patterns und UML. Marco Skulschus
PHP OOP, Design Patterns und UML Marco Skulschus Page ta Controller Transfer bject Two-Step-View Row Transaction Script Data Mapper Data Gateway Application Controller Table Module Transform View Front
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrObjektorientierte Programmierung III
Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/15 1 / 26 Allgemeines Progammiersprachen Objektorientierte Programmierung Grundlegende Eigenschaften
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrEntwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik
Entwurfsmuster Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Information über Entwurfsmuster Die heutige Vorlesung: Einführung in die Thematik Die Vorlesung am 12.01:
MehrAnalyse und Design mituml2
Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrEntwurfsmuster (Design Patterns)
Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrEin Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008
Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten
MehrJava Programmierung Grundlagen
Seminarunterlage Version: 5.03 Version 5.03 vom 24. Juli 2018 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrLehrbuch der Objektmodellierung
Heide Balzert Lehrbuch der Objektmodellierung Analyse und Entwurf mit CD-ROM Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete: Standort: Tt Spektrum Akademischer
MehrSoftware-Architektur. Design Patterns. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Software-Architektur Design Patterns Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 11.07.2017 15:12 Inhaltsverzeichnis Standardwerk.................................... 2 Design
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrEntwurfsmuster - Iterator & Composite
Entwurfsmuster - Iterator & Composite Alexander Rausch Seminar Entwurfsmuster WS08/09 19. November 2008 Gliederung 1 Einführung 2 Das Iterator Entwurfsmuster 3 Das Composite Entwurfsmuster 4 Quellen 5
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2
MehrInhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrSoftware Engineering. 7. Entwurfsmuster
Software Engineering 7. Entwurfsmuster Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung
MehrObjektorientiertes Programmieren
JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist
MehrJason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel
Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,
MehrSoftware-Entwurfsmuster
Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm
MehrObjektorientierteund FunktionaleProgrammierung
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrAnalyse und Design mituml2.1
Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung
MehrObjektorientierte Programmierung II
Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrVerteidigung Großer Beleg
Verteidigung Großer Beleg Die GoF-Entwurfsmuster in Java Corinna Herrmann ch17@inf.tu-dresden.de Gliederung 1. Aufgabenstellung 2. Entwurfsmuster 3. Verwandte Arbeiten 4. Beispiele: 4.1. Adapter 4.2. Flyweight
Mehr2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...
Datei: 5220_A02Inhalt.doc, Seite3 15. September 2010 Teil I Erste Schritte 1 Einleitung.... 9 1.1 Was Sie erwartet und was Sie nicht erwartet.... 9 1.2 Wie die Kapitel aufgebaut sind.... 10 1.3 Beispieldateien....
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
MehrJava-Grundkurs für rtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für rtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung- Fortgeschrittene Konzepte kennenlernen Betriebswirtschaftlich orientierte
MehrInhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23
Lektion 1.......... Danksagung 11 Einführung 13 Systemanforderungen 13 Wo Sie am besten anfangen 14 Die Übungsdateien installieren und verwenden 16 Installation der Übungsdateien 16 Die Übungsdateien verwenden
MehrAnalyse und Design mit U ML 2.3
Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis
MehrObjektorientierte und Funktionale Programmierung
Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP
MehrOOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE
OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:
MehrExkurs 1: Hintergrund zu Java und UML
Exkurs 1: Hintergrund zu Java und UML Warum gerade Java? Entwicklung Eigenschaften, speziell Portabilität Warum UML? Entwicklung Diagrammarten und CRC-Karten Lothar Schmitz UniBwM (teils nach Prof. Hußmann
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrProgrammieren 2 C++ Überblick
Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates
MehrEin Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA
Ein Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA Themenspeicher Strukturen objektorientierter Programmierung (Wiederholung) Klassen und Vererbung Schnittstellen und
MehrSoftware Design Patterns Zusammensetzung. Daniel Gerber
Software Design Patterns Zusammensetzung Daniel Gerber 1 Gliederung Einführung Iterator Composite Flyweight Zusammenfassung 2 So wird s werden Problem und Kontext an einem Beispiel vorstellen Lösung des
MehrVon der UML nach C++
22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete
MehrModel-View-Controller
Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung
MehrEinführung in die Informatik II
Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine
MehrModul Software Komponenten. Entwurfsmuster. Roland Gisler
Modul Software Komponenten Entwurfsmuster Roland Gisler Präambel Dozent: Roland Gisler Unterricht: 6. Oktober: Entwurfsmuster (heute) 7. Oktober: Testing 20./21. Oktober: Coaching (Entwurfsmuster, Testing
MehrMethoden und Architekturen der Softwaretechnik
Joachim Goll Methoden und Architekturen der Softwaretechnik STUDIUM VIEWEG+ TEUBNER Inhaltsverzeichnis Vorwort 7 Wegweiser durch das Buch 11 Inhaltsverzeichnis 17 Begriffsverzeichnis 23 Abkürzungsverzeichnis
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
Mehr8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure
8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:
MehrTEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4
Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...
MehrLabor Datenverarbeitung SS 2006
Labor Datenverarbeitung SS 2006 Versuch Speicherprogrammierbare Steuerungen Versuch Objektorientierter Entwurf mit Design-Pattern 1 SPS, Allgemeines Umfang der Versuche Logische Grundverknüpfungen kombinatorische
MehrSoftwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2009
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2009 Überblick I 1 Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrSoftware Engineering II (IB) Design Patterns
Software Engineering II (IB) Design Patterns Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 20:56 Software Engineering II (IB), Design Patterns 1/43 Standardwerk Gang of Four: Erich Gamma, Richard
MehrSoftwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Entwurfsmuster Entwurfsmuster: Entwurfsmuster
MehrInhaltsverzeichnis. 4.9 Aufgaben... 63
Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrVorlesung Programmieren
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrSchnittstellen und. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
Schnittstellen und Abstrakte Klassen 1 Hauptziel der objektorientierten Programmiertechniken ist es, die Flexibilität leichte Anpassbarkeit und Wiederverwendbarkeit von Software zu vereinfachen. 2 Kapselung
MehrProgrammieren mit Java
Reinhard Schiedermeier Programmieren mit Java 2., aktualisierte Auflage ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam
MehrJava als erste Programmiersprache
Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste
MehrListe MI / Liste I Programmieren in C++
Liste MI / Liste I Programmieren in C++ Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Medieninformatik WS 2007/2008 Kapitel 1-4 1 Ziele Kennenlernen einer weiteren objektorientierten
MehrDas Einsteigerseminar Objektorientierte Programmierung in Java
Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java -H-H Inhalt Vorwort 13 Einleitung 15 1 Java 21 1.1 Die Geschichte von Java 22 1.2 Das Konzept 24 Klassisch - Compiler und
MehrSoftware Engineering II
Software Engineering II 9 Entwurfsmuster Prof. Dr. Dirk Müller Übersicht Einführung Geschichte Anforderungen und Nutzen Grundlegende Elemente Alphabetischer GoF-Katalog 11 GoF-Muster im Detail Nachteile
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrWorkload: 150 h ECTS Punkte: 5
Modulbezeichnung: Grundlagen der objektorientierten Programmierung mit Java Modulnummer: DLBINGOPJ Modultyp: Pflicht Semester: -- Dauer: Minimaldauer 1 Semester Regulär angeboten im: WS, SS Workload: 150
Mehr7. Objektorientierung. Informatik II für Verkehrsingenieure
7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete
MehrDas UML Benutzerhandbuch
Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Mehr29.01.2013. Vorlesung Programmieren. Software Design. Software Design. Entwurfsmuster
Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
MehrWahlpflichtfach Design Pattern
Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338
MehrInhalt. TEIL I Grundlagen. Einleitung 15
Einleitung 15 TEIL I Grundlagen 1.1 Notwendigkeit einer verbesserten Abstraktion 23 1.2 Klassen und Objekte 25 1.3 Festlegung von Grenzen 27 1.4 Wiederverwendung 30 1.4.1 Komposition 30 1.4.2 Vererbung
Mehr15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595
Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified
MehrStand: Semester: Dauer: Modulnummer: Minimaldauer 1 Semester IOBP. Regulär angeboten im: Modultyp: Pflicht WS, SS
Modulbezeichnung: Objektorientierte Programmierung Modulnummer: IOBP Semester: -- Dauer: Minimaldauer 1 Semester Modultyp: Pflicht Regulär angeboten im: WS, SS Workload: 300 h ECTS Punkte: 10 Zugangsvoraussetzungen:
Mehr