docs/DesignPatterns
annotate 01_einfuehrung.tex @ 24:6592083da58a
cleanups
author | meillo@marmaro.de |
---|---|
date | Tue, 26 Jun 2007 22:30:35 +0200 |
parents | 80c995d97cfa |
children | e7ac382e4a20 |
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@17 | 121 \item Kommunikation |
meillo@15 | 122 \item Geringerer Testaufwand |
meillo@15 | 123 \item Höhere Robustheit |
meillo@11 | 124 \end{itemize} |
meillo@11 | 125 \end{block} |
meillo@11 | 126 |
meillo@15 | 127 |
meillo@11 | 128 } |
meillo@11 | 129 |
meillo@11 | 130 |
meillo@15 | 131 \section{Literatur} |
meillo@15 | 132 \frame{ \frametitle{Literatur} |
meillo@17 | 133 \begin{block}{Design Patterns} |
meillo@17 | 134 \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides} |
meillo@15 | 135 \end{block} |
meillo@15 | 136 |
meillo@17 | 137 \pause |
meillo@17 | 138 |
meillo@17 | 139 \begin{block}{Design Patterns Explained} |
meillo@17 | 140 A New Perspective on Object Oriented Design |
meillo@17 | 141 |
meillo@17 | 142 \textit{Allan Shalloway, James R. Trott} |
meillo@15 | 143 \end{block} |
meillo@15 | 144 |
meillo@17 | 145 \pause |
meillo@17 | 146 |
meillo@17 | 147 \begin{block}{Modern C++ Design} |
meillo@17 | 148 Generic Programming and Design Patterns applied |
meillo@17 | 149 |
meillo@17 | 150 \textit{Andrei Alexandrescu} |
meillo@15 | 151 \end{block} |
meillo@15 | 152 |
meillo@15 | 153 } |
meillo@15 | 154 |
meillo@15 | 155 |
meillo@15 | 156 \section{Beispiele} |
meillo@15 | 157 \frame{ \frametitle{Beispiele} |
meillo@15 | 158 \begin{block}{In der Vorlesung behandelte Design Pattern} |
meillo@15 | 159 \begin{itemize} |
meillo@23 | 160 \item Singleton |
meillo@15 | 161 \item Strategie |
meillo@23 | 162 \item Fassade |
meillo@15 | 163 \end{itemize} |
meillo@15 | 164 \end{block} |
meillo@15 | 165 |
meillo@15 | 166 \begin{block}{Weitere Design-Patterns} |
meillo@15 | 167 \begin{itemize} |
meillo@23 | 168 \item Iterator |
meillo@23 | 169 \item General Hierarchie |
meillo@23 | 170 \item Player Role Pattern |
meillo@23 | 171 \item Immutable |
meillo@23 | 172 \item Read-Only Interface |
meillo@15 | 173 \end{itemize} |
meillo@15 | 174 \end{block} |
meillo@15 | 175 } |
meillo@15 | 176 |
meillo@15 | 177 |
meillo@15 | 178 |
meillo@15 | 179 |
meillo@15 | 180 |
meillo@11 | 181 |
meillo@11 | 182 |
meillo@11 | 183 |
meillo@11 | 184 \section{Zusammenfassung} |
meillo@23 | 185 \frame{ |
meillo@11 | 186 \begin{block}{Zusammenfassung} |
meillo@23 | 187 \begin{itemize} |
meillo@23 | 188 \item Design Patterns sind bewährte Lösungen zu bekannten, häufiger auftretenden Problemen in der Softwareentwicklung |
meillo@23 | 189 \item Ende der 80er Jahre wurden Entwurfsmusster erstmals in der Softwareentwicklung eingesetzt |
meillo@23 | 190 \item Die GoF entwickelte ein einheitliches Schema um die einzelnen Design Pattern beschreiben zu können |
meillo@23 | 191 \end{itemize} |
meillo@11 | 192 \end{block} |
meillo@11 | 193 } |
meillo@11 | 194 |
meillo@11 | 195 |
meillo@11 | 196 \end{document} |
meillo@11 | 197 |
meillo@11 | 198 |