docs/DesignPatterns
annotate 01_einfuehrung.tex @ 22:7a1c45c0b778
updated observer
author | meillo@marmaro.de |
---|---|
date | Tue, 26 Jun 2007 14:44:31 +0200 |
parents | 6a63cd1ca3d8 |
children | e206112b4afe |
rev | line source |
---|---|
meillo@11 | 1 % @file |
meillo@15 | 2 % @brief Referat DesignPatterns `Einführung' |
meillo@11 | 3 % @author Markus Rundel |
meillo@11 | 4 % @since 2007-06-21 |
meillo@11 | 5 |
meillo@11 | 6 |
meillo@11 | 7 \documentclass{beamer} |
meillo@11 | 8 |
meillo@11 | 9 |
meillo@11 | 10 % \usepackage[T1]{fontenc} |
meillo@11 | 11 \usepackage[utf8]{inputenc} |
meillo@11 | 12 \usepackage{ngerman} |
meillo@11 | 13 \usepackage{graphicx} |
meillo@11 | 14 \usepackage[automark]{scrpage2} |
meillo@11 | 15 \input{Style01} |
meillo@11 | 16 |
meillo@11 | 17 |
meillo@11 | 18 |
meillo@11 | 19 \begin{document} |
meillo@11 | 20 |
meillo@11 | 21 |
meillo@13 | 22 \title{Einführung} |
meillo@11 | 23 \author{Markus Rundel} |
meillo@13 | 24 \date{} |
meillo@11 | 25 |
meillo@11 | 26 \frame{ |
meillo@11 | 27 \titlepage |
meillo@11 | 28 } |
meillo@11 | 29 |
meillo@11 | 30 |
meillo@11 | 31 |
meillo@11 | 32 |
meillo@11 | 33 |
meillo@11 | 34 \section[Outline]{} |
meillo@11 | 35 \frame{ |
meillo@11 | 36 \tableofcontents |
meillo@11 | 37 } |
meillo@11 | 38 |
meillo@11 | 39 |
meillo@11 | 40 |
meillo@11 | 41 |
meillo@11 | 42 |
meillo@11 | 43 |
meillo@15 | 44 \section{Was sind Patterns?} |
meillo@15 | 45 \frame{ \frametitle{Was sind Patterns?} |
meillo@17 | 46 \begin{block}{Was sind Design Patterns?} |
meillo@15 | 47 \end{block} |
meillo@15 | 48 } |
meillo@11 | 49 |
meillo@15 | 50 |
meillo@15 | 51 \section{Definitionen} |
meillo@15 | 52 \frame{ \frametitle{Definitionen} |
meillo@15 | 53 \begin{block}{Christopher Alexander} |
meillo@15 | 54 Each pattern is a three-part-rule, which expresses a relation between a certain context, a problem and a solution |
meillo@15 | 55 \end{block} |
meillo@17 | 56 |
meillo@17 | 57 \pause |
meillo@17 | 58 |
meillo@15 | 59 \begin{block}{Martin Fowler} |
meillo@15 | 60 A pattern is an idea that has been useful in one practical context and will be probably useful in others. |
meillo@15 | 61 \end{block} |
meillo@17 | 62 |
meillo@17 | 63 \pause |
meillo@17 | 64 |
meillo@15 | 65 \begin{block}{Gang of Four (GoF)} |
meillo@15 | 66 Design Patterns sind Beschreibungen zusammenhängender Objekte und Klassen, die maßgeschneidert sind, um ein allgemeines Entwurfsproblem in einem bestimmten Kontext zu lösen. |
meillo@15 | 67 \end{block} |
meillo@15 | 68 } |
meillo@15 | 69 |
meillo@15 | 70 |
meillo@15 | 71 \section{Geschichte} |
meillo@15 | 72 \frame{ \frametitle{Geschichte} |
meillo@17 | 73 \begin{block}{1970er Jahre} |
meillo@17 | 74 Erstellung erster Entwurfsmuster von einem Architekten |
meillo@17 | 75 \end{block} |
meillo@17 | 76 |
meillo@17 | 77 \pause |
meillo@17 | 78 |
meillo@17 | 79 |
meillo@17 | 80 \begin{block}{1980er Jahre} |
meillo@17 | 81 Entwicklung von Entwurfsmuster für grafische Benutzerschnittstellen |
meillo@17 | 82 \end{block} |
meillo@17 | 83 |
meillo@17 | 84 |
meillo@17 | 85 \pause |
meillo@17 | 86 |
meillo@17 | 87 \begin{block}{1991} |
meillo@21 | 88 ``Design Patterns - Elements of Reusable Object-Oriented Software'' |
meillo@17 | 89 \end{block} |
meillo@15 | 90 } |
meillo@15 | 91 |
meillo@15 | 92 |
meillo@15 | 93 \section{Klassifizierung} |
meillo@15 | 94 \frame{ \frametitle{Klassifizierung} |
meillo@17 | 95 \begin{block}{Schema zum beschreiben von Design Patterns} |
meillo@15 | 96 |
meillo@16 | 97 \begin{itemize} |
meillo@16 | 98 \item Mustername und Klassifikation |
meillo@16 | 99 \item Zweck (Wozu dient dieses Muster?) |
meillo@16 | 100 \item Synonyme |
meillo@16 | 101 \item Motivation |
meillo@16 | 102 \item Anwendbarkeit |
meillo@16 | 103 \item Struktur |
meillo@16 | 104 \item Beteiligte Klassen (Akteure) |
meillo@16 | 105 \item Zusammenspiel der involvierten Klassen |
meillo@16 | 106 \item Vor- und Nachteile |
meillo@16 | 107 \item Implementierung |
meillo@16 | 108 \item Beispielcode |
meillo@16 | 109 \item Praxiseinsatz |
meillo@16 | 110 \item Querverweise |
meillo@16 | 111 \end{itemize} |
meillo@16 | 112 \end{block} |
meillo@15 | 113 |
meillo@15 | 114 } |
meillo@15 | 115 |
meillo@15 | 116 |
meillo@15 | 117 \section{Nutzen und Vorteile} |
meillo@15 | 118 \frame{ \frametitle{Nutzen und Vorteile} |
meillo@15 | 119 |
meillo@15 | 120 \begin{block}{Nutzen / Vorteile von Design Pattern} |
meillo@11 | 121 \begin{itemize} |
meillo@17 | 122 \item Zeitersparnis |
meillo@17 | 123 \item Fehlerfreiheit |
meillo@17 | 124 \item Gemeinsame Kommunikationsgrundlage |
meillo@17 | 125 \item Sauberes OO-Design |
meillo@17 | 126 \item Lesbarkeit |
meillo@17 | 127 \item Kommunikation |
meillo@15 | 128 \item Geringerer Testaufwand |
meillo@15 | 129 \item Höhere Robustheit |
meillo@11 | 130 \end{itemize} |
meillo@11 | 131 \end{block} |
meillo@11 | 132 |
meillo@15 | 133 |
meillo@11 | 134 } |
meillo@11 | 135 |
meillo@11 | 136 |
meillo@15 | 137 \section{Literatur} |
meillo@15 | 138 \frame{ \frametitle{Literatur} |
meillo@17 | 139 \begin{block}{Design Patterns} |
meillo@17 | 140 \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides} |
meillo@15 | 141 \end{block} |
meillo@15 | 142 |
meillo@17 | 143 \pause |
meillo@17 | 144 |
meillo@17 | 145 |
meillo@17 | 146 \begin{block}{Design Patterns Explained} |
meillo@17 | 147 A New Perspective on Object Oriented Design |
meillo@17 | 148 |
meillo@17 | 149 \textit{Allan Shalloway, James R. Trott} |
meillo@15 | 150 \end{block} |
meillo@15 | 151 |
meillo@17 | 152 \pause |
meillo@17 | 153 |
meillo@17 | 154 |
meillo@17 | 155 \begin{block}{Modern C++ Design} |
meillo@17 | 156 Generic Programming and Design Patterns applied |
meillo@17 | 157 |
meillo@17 | 158 \textit{Andrei Alexandrescu} |
meillo@15 | 159 \end{block} |
meillo@15 | 160 |
meillo@15 | 161 } |
meillo@15 | 162 |
meillo@15 | 163 |
meillo@15 | 164 \section{Beispiele} |
meillo@15 | 165 \frame{ \frametitle{Beispiele} |
meillo@15 | 166 \begin{block}{In der Vorlesung behandelte Design Pattern} |
meillo@15 | 167 \begin{itemize} |
meillo@15 | 168 \item Singleton %(stellt sicher, dass es von einer Klasse nur eine Instanz gibt) |
meillo@15 | 169 \item Strategie |
meillo@15 | 170 \item Fassade %(erlaubt den einfachen Zugriff auf ein komplexes Subsystem) |
meillo@15 | 171 \end{itemize} |
meillo@15 | 172 \end{block} |
meillo@15 | 173 |
meillo@15 | 174 \begin{block}{Weitere Design-Patterns} |
meillo@15 | 175 \begin{itemize} |
meillo@15 | 176 \item Iterator |
meillo@15 | 177 \item General Hierarchie |
meillo@15 | 178 \item Player Role Pattern |
meillo@15 | 179 \item Immutable |
meillo@15 | 180 \item Read-Only Interface |
meillo@15 | 181 \end{itemize} |
meillo@15 | 182 \end{block} |
meillo@15 | 183 } |
meillo@15 | 184 |
meillo@15 | 185 |
meillo@15 | 186 |
meillo@15 | 187 |
meillo@15 | 188 |
meillo@11 | 189 |
meillo@11 | 190 |
meillo@11 | 191 |
meillo@11 | 192 \section{Zusammenfassung} |
meillo@11 | 193 \frame{ %\frametitle{Zusammenfassend} |
meillo@11 | 194 \begin{block}{Zusammenfassung} |
meillo@11 | 195 \begin{itemize} |
meillo@11 | 196 \item |
meillo@11 | 197 \item |
meillo@11 | 198 \item |
meillo@11 | 199 \end{itemize} |
meillo@11 | 200 \end{block} |
meillo@11 | 201 } |
meillo@11 | 202 |
meillo@11 | 203 |
meillo@11 | 204 \end{document} |
meillo@11 | 205 |
meillo@11 | 206 |