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@17: \item Kommunikation 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@15: \begin{block}{In der Vorlesung 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: