docs/DesignPatterns

changeset 25:e7ac382e4a20

added content to weiterePatterns
author meillo@marmaro.de
date Wed, 27 Jun 2007 11:16:43 +0200
parents 6592083da58a
children 19e867456aff
files 01_einfuehrung.tex 05_antiPatterns.tex
diffstat 2 files changed, 64 insertions(+), 42 deletions(-) [+]
line diff
     1.1 --- a/01_einfuehrung.tex	Tue Jun 26 22:30:35 2007 +0200
     1.2 +++ b/01_einfuehrung.tex	Wed Jun 27 11:16:43 2007 +0200
     1.3 @@ -118,7 +118,6 @@
     1.4        \item Gemeinsame Kommunikationsgrundlage
     1.5        \item Sauberes OO-Design
     1.6        \item Lesbarkeit
     1.7 -      \item Kommunikation
     1.8        \item Geringerer Testaufwand
     1.9        \item Höhere Robustheit
    1.10      \end{itemize}
    1.11 @@ -155,7 +154,7 @@
    1.12  
    1.13  \section{Beispiele}
    1.14  \frame{ \frametitle{Beispiele}
    1.15 -  \begin{block}{In der Vorlesung behandelte Design Pattern}
    1.16 +  \begin{block}{Im Script behandelte Design Pattern}
    1.17      \begin{itemize}
    1.18        \item Singleton
    1.19        \item Strategie
     2.1 --- a/05_antiPatterns.tex	Tue Jun 26 22:30:35 2007 +0200
     2.2 +++ b/05_antiPatterns.tex	Wed Jun 27 11:16:43 2007 +0200
     2.3 @@ -6,33 +6,23 @@
     2.4  
     2.5  \documentclass{beamer}
     2.6  
     2.7 -
     2.8 -%  \usepackage[T1]{fontenc}
     2.9    \usepackage[utf8]{inputenc}
    2.10    \usepackage{ngerman}
    2.11    \usepackage{graphicx}
    2.12    \usepackage[automark]{scrpage2}
    2.13    \input{Style01}
    2.14  
    2.15 -
    2.16 +  \title{Andere Patterns}
    2.17 +  \author{Julian Haug}
    2.18 +  \date{}
    2.19  
    2.20  \begin{document}
    2.21  
    2.22 -
    2.23 -\title{Andere Patterns}
    2.24 -\author{Julian Haug}
    2.25 -\date{}
    2.26 -
    2.27 -%\titlegraphic{\includegraphics[width=3cm]{Pics/Maka-Logo.png}}
    2.28 -
    2.29  \frame{
    2.30    \titlepage
    2.31  }
    2.32  
    2.33  
    2.34 -
    2.35 -
    2.36 -
    2.37  \section[Outline]{}
    2.38  \frame{
    2.39    \tableofcontents
    2.40 @@ -56,11 +46,11 @@
    2.41  }
    2.42  
    2.43  
    2.44 -\section{Beispiele anderer Muster}
    2.45 +\subsection{Beispiele anderer Muster}
    2.46  
    2.47 -\frame{ \frametitle{Beispiele anderer Muster}
    2.48 +\frame{ \frametitle{Architekturmuster}
    2.49  
    2.50 -  \begin{block}{Architekturmuster}
    2.51 +  \begin{block}{}
    2.52      \begin{itemize}
    2.53        \item beschreiben typische Software-Architekturen
    2.54        \item bestimmen nicht ein konkretes Teilproblem, sondern den Grundaufbau der Anwendung
    2.55 @@ -77,7 +67,7 @@
    2.56  }
    2.57  
    2.58  
    2.59 -\section{Idom}
    2.60 +\subsection{Idom}
    2.61  
    2.62  \frame{ \frametitle{Idom}
    2.63  
    2.64 @@ -88,6 +78,8 @@
    2.65      \end{itemize}
    2.66    \end{block}
    2.67  
    2.68 +  \pause
    2.69 +
    2.70    \begin{block}{Anwendung}
    2.71      \begin{itemize}
    2.72        \item Konkrete Implementierung eines Entwurfsmusters.
    2.73 @@ -99,7 +91,7 @@
    2.74  }
    2.75  
    2.76  
    2.77 -\section{Weitere Beispiele}
    2.78 +\subsection{Weitere Beispiele}
    2.79  
    2.80  \frame{ \frametitle{Weitere Beispiele}
    2.81  
    2.82 @@ -114,21 +106,6 @@
    2.83  }
    2.84  
    2.85  
    2.86 -\section{Tipps zur Anwendung}
    2.87 -
    2.88 -\frame{ \frametitle{Tipps zur Anwendung}
    2.89 -
    2.90 -  \begin{block}{}
    2.91 -    \begin{itemize}
    2.92 -      \item 
    2.93 -      \item 
    2.94 -      \item 
    2.95 -    \end{itemize}
    2.96 -  \end{block}
    2.97 -
    2.98 -}
    2.99 -
   2.100 -
   2.101  
   2.102  
   2.103  
   2.104 @@ -160,26 +137,72 @@
   2.105  }
   2.106  
   2.107  
   2.108 +\subsection{Programmier-Anti-Patterns}
   2.109  \frame{ \frametitle{Programmierungs-Anti-Patterns}
   2.110  
   2.111 -  \begin{block}{}
   2.112 +  \begin{block}{Zwiebel}
   2.113      \begin{itemize}
   2.114 -      \item 
   2.115 -      \item 
   2.116 +      \item Neue Funktionalität wird um (oder über) die alte gelegt
   2.117 +      \item Häufig bei Erweiterungen
   2.118 +      \item Führt zu vielschichtigem Programmcode (Zwiebel)
   2.119 +    \end{itemize}
   2.120 +  \end{block}
   2.121 +
   2.122 +  \pause
   2.123 +
   2.124 +  \begin{block}{Lavafluss}
   2.125 +    \begin{itemize}
   2.126 +      \item in Anwendung häuft sich ``toter Quelltext''
   2.127 +      \item Statt zu löschen wird um ihn ``herum'' programmiert
   2.128      \end{itemize}
   2.129    \end{block}
   2.130  
   2.131  }
   2.132  
   2.133  
   2.134 +\section{Tipps zur Anwendung}
   2.135 +
   2.136 +\frame{ \frametitle{Tipps zur Anwendung}
   2.137 +
   2.138 +  \begin{block}{Auswahl eines Entwurfmusters}
   2.139 +    Problem: Viele (ähnliche) Muster kommen in Frage
   2.140 +    \begin{itemize}
   2.141 +      \item Musterkatalog
   2.142 +      \item Genaue Analyse des Problems
   2.143 +    \end{itemize}
   2.144 +  \end{block}
   2.145 +
   2.146 +  \pause
   2.147 +
   2.148 +  \begin{block}{Verwendung des Musters}
   2.149 +    Problem: Verstehen wie das Muster unser Problem löst
   2.150 +    \begin{itemize}
   2.151 +      \item Strukturdiagramm (UML)
   2.152 +      \item Objekt/Klassenliste
   2.153 +      \item Implementierungsbeispiele
   2.154 +    \end{itemize}
   2.155 +  \end{block}
   2.156 +
   2.157 +  \pause
   2.158 +
   2.159 +  \begin{block}{Wann sollte KEIN Entwurfsmuster benutzt werden}
   2.160 +    \begin{itemize}
   2.161 +      \item Muster dürfen den Code nicht verkomplizieren
   2.162 +      \item Oft reicht eine Lösung die zwar weniger flexibel aber simpler ist
   2.163 +    \end{itemize}
   2.164 +  \end{block}
   2.165 +
   2.166 +}
   2.167 +
   2.168 +
   2.169  
   2.170  \section{Zusammenfassung}
   2.171 -\frame{ %\frametitle{Zusammenfassend}
   2.172 +\frame{
   2.173    \begin{block}{Zusammenfassung}
   2.174    \begin{itemize}
   2.175 -    \item 
   2.176 -    \item 
   2.177 -    \item 
   2.178 +    \item Es gibt verschiedene Arten von Mustern – für uns von direkter Bedeutung sind Entwurfs-, Architekturmuster und Idome
   2.179 +    \item Anti-Pattern zeigen welche Fehler man vermeiden sollte
   2.180 +    \item Bei Anwendung von Mustern das Problem genau analysieren, passendes Muster suchen und gegebenenfalls anwenden
   2.181    \end{itemize}
   2.182    \end{block}
   2.183  }