docs/DesignPatterns
annotate 01_einfuehrung.tex @ 35:05f432307ba2
trivial change
author | meillo@marmaro.de |
---|---|
date | Sat, 11 Aug 2007 15:40:50 +0200 |
parents | e206112b4afe |
children |
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 \usepackage[utf8]{inputenc} |
meillo@11 | 10 \usepackage{ngerman} |
meillo@11 | 11 \usepackage{graphicx} |
meillo@11 | 12 \usepackage[automark]{scrpage2} |
meillo@11 | 13 \input{Style01} |
meillo@11 | 14 |
meillo@23 | 15 \title{Einführung} |
meillo@23 | 16 \author{Markus Rundel} |
meillo@23 | 17 \date{} |
meillo@11 | 18 |
meillo@11 | 19 |
meillo@11 | 20 \begin{document} |
meillo@11 | 21 |
meillo@11 | 22 |
meillo@11 | 23 \frame{ |
meillo@11 | 24 \titlepage |
meillo@11 | 25 } |
meillo@11 | 26 |
meillo@11 | 27 |
meillo@11 | 28 \section[Outline]{} |
meillo@11 | 29 \frame{ |
meillo@11 | 30 \tableofcontents |
meillo@11 | 31 } |
meillo@11 | 32 |
meillo@11 | 33 |
meillo@11 | 34 |
meillo@11 | 35 |
meillo@11 | 36 |
meillo@11 | 37 |
meillo@15 | 38 \section{Was sind Patterns?} |
meillo@15 | 39 \frame{ \frametitle{Was sind Patterns?} |
meillo@17 | 40 \begin{block}{Was sind Design Patterns?} |
meillo@15 | 41 \end{block} |
meillo@15 | 42 } |
meillo@11 | 43 |
meillo@15 | 44 |
meillo@15 | 45 \section{Definitionen} |
meillo@15 | 46 \frame{ \frametitle{Definitionen} |
meillo@15 | 47 \begin{block}{Christopher Alexander} |
meillo@15 | 48 Each pattern is a three-part-rule, which expresses a relation between a certain context, a problem and a solution |
meillo@15 | 49 \end{block} |
meillo@17 | 50 |
meillo@17 | 51 \pause |
meillo@17 | 52 |
meillo@15 | 53 \begin{block}{Martin Fowler} |
meillo@15 | 54 A pattern is an idea that has been useful in one practical context and will be probably useful in others. |
meillo@15 | 55 \end{block} |
meillo@17 | 56 |
meillo@17 | 57 \pause |
meillo@17 | 58 |
meillo@15 | 59 \begin{block}{Gang of Four (GoF)} |
meillo@15 | 60 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 | 61 \end{block} |
meillo@15 | 62 } |
meillo@15 | 63 |
meillo@15 | 64 |
meillo@15 | 65 \section{Geschichte} |
meillo@15 | 66 \frame{ \frametitle{Geschichte} |
meillo@17 | 67 \begin{block}{1970er Jahre} |
meillo@17 | 68 Erstellung erster Entwurfsmuster von einem Architekten |
meillo@17 | 69 \end{block} |
meillo@17 | 70 |
meillo@17 | 71 \pause |
meillo@17 | 72 |
meillo@17 | 73 |
meillo@17 | 74 \begin{block}{1980er Jahre} |
meillo@17 | 75 Entwicklung von Entwurfsmuster für grafische Benutzerschnittstellen |
meillo@17 | 76 \end{block} |
meillo@17 | 77 |
meillo@17 | 78 |
meillo@17 | 79 \pause |
meillo@17 | 80 |
meillo@17 | 81 \begin{block}{1991} |
meillo@21 | 82 ``Design Patterns - Elements of Reusable Object-Oriented Software'' |
meillo@17 | 83 \end{block} |
meillo@15 | 84 } |
meillo@15 | 85 |
meillo@15 | 86 |
meillo@15 | 87 \section{Klassifizierung} |
meillo@15 | 88 \frame{ \frametitle{Klassifizierung} |
meillo@17 | 89 \begin{block}{Schema zum beschreiben von Design Patterns} |
meillo@15 | 90 |
meillo@16 | 91 \begin{itemize} |
meillo@16 | 92 \item Mustername und Klassifikation |
meillo@16 | 93 \item Zweck (Wozu dient dieses Muster?) |
meillo@16 | 94 \item Synonyme |
meillo@16 | 95 \item Motivation |
meillo@16 | 96 \item Anwendbarkeit |
meillo@16 | 97 \item Struktur |
meillo@16 | 98 \item Beteiligte Klassen (Akteure) |
meillo@16 | 99 \item Zusammenspiel der involvierten Klassen |
meillo@16 | 100 \item Vor- und Nachteile |
meillo@16 | 101 \item Implementierung |
meillo@16 | 102 \item Beispielcode |
meillo@16 | 103 \item Praxiseinsatz |
meillo@16 | 104 \item Querverweise |
meillo@16 | 105 \end{itemize} |
meillo@16 | 106 \end{block} |
meillo@15 | 107 |
meillo@15 | 108 } |
meillo@15 | 109 |
meillo@15 | 110 |
meillo@15 | 111 \section{Nutzen und Vorteile} |
meillo@15 | 112 \frame{ \frametitle{Nutzen und Vorteile} |
meillo@15 | 113 |
meillo@15 | 114 \begin{block}{Nutzen / Vorteile von Design Pattern} |
meillo@11 | 115 \begin{itemize} |
meillo@17 | 116 \item Zeitersparnis |
meillo@17 | 117 \item Fehlerfreiheit |
meillo@17 | 118 \item Gemeinsame Kommunikationsgrundlage |
meillo@17 | 119 \item Sauberes OO-Design |
meillo@17 | 120 \item Lesbarkeit |
meillo@15 | 121 \item Geringerer Testaufwand |
meillo@15 | 122 \item Höhere Robustheit |
meillo@11 | 123 \end{itemize} |
meillo@11 | 124 \end{block} |
meillo@11 | 125 |
meillo@15 | 126 |
meillo@11 | 127 } |
meillo@11 | 128 |
meillo@11 | 129 |
meillo@15 | 130 \section{Literatur} |
meillo@15 | 131 \frame{ \frametitle{Literatur} |
meillo@17 | 132 \begin{block}{Design Patterns} |
meillo@17 | 133 \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides} |
meillo@15 | 134 \end{block} |
meillo@15 | 135 |
meillo@17 | 136 \pause |
meillo@17 | 137 |
meillo@17 | 138 \begin{block}{Design Patterns Explained} |
meillo@17 | 139 A New Perspective on Object Oriented Design |
meillo@17 | 140 |
meillo@17 | 141 \textit{Allan Shalloway, James R. Trott} |
meillo@15 | 142 \end{block} |
meillo@15 | 143 |
meillo@17 | 144 \pause |
meillo@17 | 145 |
meillo@17 | 146 \begin{block}{Modern C++ Design} |
meillo@17 | 147 Generic Programming and Design Patterns applied |
meillo@17 | 148 |
meillo@17 | 149 \textit{Andrei Alexandrescu} |
meillo@15 | 150 \end{block} |
meillo@15 | 151 |
meillo@15 | 152 } |
meillo@15 | 153 |
meillo@15 | 154 |
meillo@15 | 155 \section{Beispiele} |
meillo@15 | 156 \frame{ \frametitle{Beispiele} |
meillo@25 | 157 \begin{block}{Im Script behandelte Design Pattern} |
meillo@15 | 158 \begin{itemize} |
meillo@23 | 159 \item Singleton |
meillo@15 | 160 \item Strategie |
meillo@23 | 161 \item Fassade |
meillo@15 | 162 \end{itemize} |
meillo@15 | 163 \end{block} |
meillo@15 | 164 |
meillo@15 | 165 \begin{block}{Weitere Design-Patterns} |
meillo@15 | 166 \begin{itemize} |
meillo@23 | 167 \item Iterator |
meillo@23 | 168 \item General Hierarchie |
meillo@23 | 169 \item Player Role Pattern |
meillo@23 | 170 \item Immutable |
meillo@23 | 171 \item Read-Only Interface |
meillo@15 | 172 \end{itemize} |
meillo@15 | 173 \end{block} |
meillo@15 | 174 } |
meillo@15 | 175 |
meillo@15 | 176 |
meillo@15 | 177 |
meillo@15 | 178 |
meillo@15 | 179 |
meillo@11 | 180 |
meillo@11 | 181 |
meillo@11 | 182 |
meillo@11 | 183 \section{Zusammenfassung} |
meillo@23 | 184 \frame{ |
meillo@11 | 185 \begin{block}{Zusammenfassung} |
meillo@23 | 186 \begin{itemize} |
meillo@23 | 187 \item Design Patterns sind bewährte Lösungen zu bekannten, häufiger auftretenden Problemen in der Softwareentwicklung |
meillo@23 | 188 \item Ende der 80er Jahre wurden Entwurfsmusster erstmals in der Softwareentwicklung eingesetzt |
meillo@23 | 189 \item Die GoF entwickelte ein einheitliches Schema um die einzelnen Design Pattern beschreiben zu können |
meillo@23 | 190 \end{itemize} |
meillo@11 | 191 \end{block} |
meillo@11 | 192 } |
meillo@11 | 193 |
meillo@11 | 194 |
meillo@11 | 195 \end{document} |
meillo@11 | 196 |
meillo@11 | 197 |