Mercurial > docs > DesignPatterns
view 01_einfuehrung.tex @ 19:356aeb2f53f3
merged anderePatterns with AntiPatterns
author | meillo@marmaro.de |
---|---|
date | Tue, 26 Jun 2007 09:47:28 +0200 |
parents | 6a63cd1ca3d8 |
children | 80c995d97cfa |
line wrap: on
line source
% @file % @brief Referat DesignPatterns `Einführung' % @author Markus Rundel % @since 2007-06-21 \documentclass{beamer} % \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{ngerman} \usepackage{graphicx} \usepackage[automark]{scrpage2} \input{Style01} \begin{document} \title{Einführung} \author{Markus Rundel} \date{} \frame{ \titlepage } \section[Outline]{} \frame{ \tableofcontents } \section{Was sind Patterns?} \frame{ \frametitle{Was sind Patterns?} \begin{block}{Was sind Design Patterns?} \end{block} } \section{Definitionen} \frame{ \frametitle{Definitionen} \begin{block}{Christopher Alexander} Each pattern is a three-part-rule, which expresses a relation between a certain context, a problem and a solution \end{block} \pause \begin{block}{Martin Fowler} A pattern is an idea that has been useful in one practical context and will be probably useful in others. \end{block} \pause \begin{block}{Gang of Four (GoF)} Design Patterns sind Beschreibungen zusammenhängender Objekte und Klassen, die maßgeschneidert sind, um ein allgemeines Entwurfsproblem in einem bestimmten Kontext zu lösen. \end{block} } \section{Geschichte} \frame{ \frametitle{Geschichte} \begin{block}{1970er Jahre} Erstellung erster Entwurfsmuster von einem Architekten \end{block} \pause \begin{block}{1980er Jahre} Entwicklung von Entwurfsmuster für grafische Benutzerschnittstellen \end{block} \pause \begin{block}{1991} Design Patterns - Elements of Reusable Object-Oriented Software \end{block} } \section{Klassifizierung} \frame{ \frametitle{Klassifizierung} \begin{block}{Schema zum beschreiben von Design Patterns} \begin{itemize} \item Mustername und Klassifikation \item Zweck (Wozu dient dieses Muster?) \item Synonyme \item Motivation \item Anwendbarkeit \item Struktur \item Beteiligte Klassen (Akteure) \item Zusammenspiel der involvierten Klassen \item Vor- und Nachteile \item Implementierung \item Beispielcode \item Praxiseinsatz \item Querverweise \end{itemize} \end{block} } \section{Nutzen und Vorteile} \frame{ \frametitle{Nutzen und Vorteile} \begin{block}{Nutzen / Vorteile von Design Pattern} \begin{itemize} \item Zeitersparnis \item Fehlerfreiheit \item Gemeinsame Kommunikationsgrundlage \item Sauberes OO-Design \item Lesbarkeit \item Kommunikation \item Geringerer Testaufwand \item Höhere Robustheit \end{itemize} \end{block} } \section{Literatur} \frame{ \frametitle{Literatur} \begin{block}{Design Patterns} \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides} \end{block} \pause \begin{block}{Design Patterns Explained} A New Perspective on Object Oriented Design \textit{Allan Shalloway, James R. Trott} \end{block} \pause \begin{block}{Modern C++ Design} Generic Programming and Design Patterns applied \textit{Andrei Alexandrescu} \end{block} } \section{Beispiele} \frame{ \frametitle{Beispiele} \begin{block}{In der Vorlesung behandelte Design Pattern} \begin{itemize} \item Singleton %(stellt sicher, dass es von einer Klasse nur eine Instanz gibt) \item Strategie \item Fassade %(erlaubt den einfachen Zugriff auf ein komplexes Subsystem) \end{itemize} \end{block} \begin{block}{Weitere Design-Patterns} \begin{itemize} \item Iterator \item General Hierarchie \item Player Role Pattern \item Immutable \item Read-Only Interface \end{itemize} \end{block} } \section{Zusammenfassung} \frame{ %\frametitle{Zusammenfassend} \begin{block}{Zusammenfassung} \begin{itemize} \item \item \item \end{itemize} \end{block} } \end{document}