
meillo@11: % @file
meillo@15: % @brief   Referat DesignPatterns `Einführung'
meillo@11: % @author  Markus Rundel
meillo@11: % @since   2007-06-21
meillo@11: 
meillo@11: 
meillo@11: \documentclass{beamer}
meillo@11: 
meillo@11:   \usepackage[utf8]{inputenc}
meillo@11:   \usepackage{ngerman}
meillo@11:   \usepackage{graphicx}
meillo@11:   \usepackage[automark]{scrpage2}
meillo@11:   \input{Style01}
meillo@11: 
meillo@23:   \title{Einführung}
meillo@23:   \author{Markus Rundel}
meillo@23:   \date{}
meillo@11: 
meillo@11: 
meillo@11: \begin{document}
meillo@11: 
meillo@11: 
meillo@11: \frame{
meillo@11:   \titlepage
meillo@11: }
meillo@11: 
meillo@11: 
meillo@11: \section[Outline]{}
meillo@11: \frame{
meillo@11:   \tableofcontents
meillo@11: }
meillo@11: 
meillo@11: 
meillo@11: 
meillo@11: 
meillo@11: 
meillo@11: 
meillo@15: \section{Was sind Patterns?}
meillo@15: \frame{ \frametitle{Was sind Patterns?}
meillo@17:   \begin{block}{Was sind Design Patterns?}
meillo@15:   \end{block}
meillo@15: }
meillo@11: 
meillo@15: 
meillo@15: \section{Definitionen}
meillo@15: \frame{ \frametitle{Definitionen}
meillo@15:   \begin{block}{Christopher Alexander}
meillo@15:     Each pattern is a three-part-rule, which expresses a relation between a certain context, a problem and a solution
meillo@15:   \end{block}
meillo@17: 
meillo@17:   \pause
meillo@17: 
meillo@15:   \begin{block}{Martin Fowler}
meillo@15:     A pattern is an idea that has been useful in one practical context and will be probably useful in others.
meillo@15:   \end{block}
meillo@17: 
meillo@17:   \pause
meillo@17: 
meillo@15:   \begin{block}{Gang of Four (GoF)}
meillo@15:     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:   \end{block}
meillo@15: }
meillo@15: 
meillo@15: 
meillo@15: \section{Geschichte}
meillo@15: \frame{ \frametitle{Geschichte}
meillo@17:   \begin{block}{1970er Jahre}
meillo@17:     Erstellung erster Entwurfsmuster von einem Architekten
meillo@17:   \end{block}
meillo@17: 
meillo@17:   \pause
meillo@17: 
meillo@17: 
meillo@17:   \begin{block}{1980er Jahre}
meillo@17:     Entwicklung von Entwurfsmuster für grafische Benutzerschnittstellen
meillo@17:   \end{block}
meillo@17: 
meillo@17: 
meillo@17:   \pause
meillo@17: 
meillo@17:   \begin{block}{1991}
meillo@21:     ``Design Patterns - Elements of Reusable Object-Oriented Software''
meillo@17:   \end{block}
meillo@15: }
meillo@15: 
meillo@15: 
meillo@15: \section{Klassifizierung}
meillo@15: \frame{ \frametitle{Klassifizierung}
meillo@17:   \begin{block}{Schema zum beschreiben von Design Patterns}
meillo@15: 
meillo@16:     \begin{itemize}
meillo@16:       \item Mustername und Klassifikation 
meillo@16:       \item Zweck (Wozu dient dieses Muster?)
meillo@16:       \item Synonyme 
meillo@16:       \item Motivation 
meillo@16:       \item Anwendbarkeit 
meillo@16:       \item Struktur 
meillo@16:       \item Beteiligte Klassen (Akteure) 
meillo@16:       \item Zusammenspiel der involvierten Klassen 
meillo@16:       \item Vor- und Nachteile
meillo@16:       \item Implementierung
meillo@16:       \item Beispielcode 
meillo@16:       \item Praxiseinsatz 
meillo@16:       \item Querverweise 
meillo@16:     \end{itemize}
meillo@16:   \end{block}
meillo@15: 
meillo@15: }
meillo@15: 
meillo@15: 
meillo@15: \section{Nutzen und Vorteile}
meillo@15: \frame{ \frametitle{Nutzen und Vorteile}
meillo@15: 
meillo@15:   \begin{block}{Nutzen / Vorteile von Design Pattern}
meillo@11:     \begin{itemize}
meillo@17:       \item Zeitersparnis
meillo@17:       \item Fehlerfreiheit
meillo@17:       \item Gemeinsame Kommunikationsgrundlage
meillo@17:       \item Sauberes OO-Design
meillo@17:       \item Lesbarkeit
meillo@15:       \item Geringerer Testaufwand
meillo@15:       \item Höhere Robustheit
meillo@11:     \end{itemize}
meillo@11:   \end{block}
meillo@11: 
meillo@15: 
meillo@11: }
meillo@11: 
meillo@11: 
meillo@15: \section{Literatur}
meillo@15: \frame{ \frametitle{Literatur}
meillo@17:   \begin{block}{Design Patterns}
meillo@17:     \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides}
meillo@15:   \end{block}
meillo@15: 
meillo@17:   \pause
meillo@17: 
meillo@17:   \begin{block}{Design Patterns Explained}
meillo@17:     A New Perspective on Object Oriented Design
meillo@17:     
meillo@17:     \textit{Allan Shalloway, James R. Trott}
meillo@15:   \end{block}
meillo@15: 
meillo@17:   \pause
meillo@17: 
meillo@17:   \begin{block}{Modern C++ Design}
meillo@17:     Generic Programming and Design Patterns applied
meillo@17: 
meillo@17:     \textit{Andrei Alexandrescu}
meillo@15:   \end{block}
meillo@15: 
meillo@15: }
meillo@15: 
meillo@15: 
meillo@15: \section{Beispiele}
meillo@15: \frame{ \frametitle{Beispiele}
meillo@25:   \begin{block}{Im Script behandelte Design Pattern}
meillo@15:     \begin{itemize}
meillo@23:       \item Singleton
meillo@15:       \item Strategie
meillo@23:       \item Fassade
meillo@15:     \end{itemize}
meillo@15:   \end{block}
meillo@15: 
meillo@15:   \begin{block}{Weitere Design-Patterns}
meillo@15:     \begin{itemize}
meillo@23:       \item Iterator
meillo@23:       \item General Hierarchie
meillo@23:       \item Player Role Pattern
meillo@23:       \item Immutable
meillo@23:       \item Read-Only Interface
meillo@15:     \end{itemize}
meillo@15:   \end{block}
meillo@15: } 
meillo@15: 
meillo@15: 
meillo@15: 
meillo@15: 
meillo@15: 
meillo@11: 
meillo@11: 
meillo@11: 
meillo@11: \section{Zusammenfassung}
meillo@23: \frame{
meillo@11:   \begin{block}{Zusammenfassung}
meillo@23:     \begin{itemize}
meillo@23:       \item Design Patterns sind bewährte Lösungen zu bekannten, häufiger auftretenden Problemen in der Softwareentwicklung
meillo@23:       \item Ende der 80er Jahre wurden Entwurfsmusster erstmals in der Softwareentwicklung eingesetzt
meillo@23:       \item Die GoF entwickelte ein einheitliches Schema um die einzelnen Design Pattern beschreiben zu können
meillo@23:     \end{itemize}
meillo@11:   \end{block}
meillo@11: }
meillo@11: 
meillo@11: 
meillo@11: \end{document}
meillo@11: 
meillo@11: 




