docs/DesignPatterns
diff 05_antiPatterns.tex @ 25:e7ac382e4a20
added content to weiterePatterns
author | meillo@marmaro.de |
---|---|
date | Wed, 27 Jun 2007 11:16:43 +0200 |
parents | 356aeb2f53f3 |
children |
line diff
1.1 --- a/05_antiPatterns.tex Tue Jun 26 22:30:35 2007 +0200 1.2 +++ b/05_antiPatterns.tex Wed Jun 27 11:16:43 2007 +0200 1.3 @@ -6,33 +6,23 @@ 1.4 1.5 \documentclass{beamer} 1.6 1.7 - 1.8 -% \usepackage[T1]{fontenc} 1.9 \usepackage[utf8]{inputenc} 1.10 \usepackage{ngerman} 1.11 \usepackage{graphicx} 1.12 \usepackage[automark]{scrpage2} 1.13 \input{Style01} 1.14 1.15 - 1.16 + \title{Andere Patterns} 1.17 + \author{Julian Haug} 1.18 + \date{} 1.19 1.20 \begin{document} 1.21 1.22 - 1.23 -\title{Andere Patterns} 1.24 -\author{Julian Haug} 1.25 -\date{} 1.26 - 1.27 -%\titlegraphic{\includegraphics[width=3cm]{Pics/Maka-Logo.png}} 1.28 - 1.29 \frame{ 1.30 \titlepage 1.31 } 1.32 1.33 1.34 - 1.35 - 1.36 - 1.37 \section[Outline]{} 1.38 \frame{ 1.39 \tableofcontents 1.40 @@ -56,11 +46,11 @@ 1.41 } 1.42 1.43 1.44 -\section{Beispiele anderer Muster} 1.45 +\subsection{Beispiele anderer Muster} 1.46 1.47 -\frame{ \frametitle{Beispiele anderer Muster} 1.48 +\frame{ \frametitle{Architekturmuster} 1.49 1.50 - \begin{block}{Architekturmuster} 1.51 + \begin{block}{} 1.52 \begin{itemize} 1.53 \item beschreiben typische Software-Architekturen 1.54 \item bestimmen nicht ein konkretes Teilproblem, sondern den Grundaufbau der Anwendung 1.55 @@ -77,7 +67,7 @@ 1.56 } 1.57 1.58 1.59 -\section{Idom} 1.60 +\subsection{Idom} 1.61 1.62 \frame{ \frametitle{Idom} 1.63 1.64 @@ -88,6 +78,8 @@ 1.65 \end{itemize} 1.66 \end{block} 1.67 1.68 + \pause 1.69 + 1.70 \begin{block}{Anwendung} 1.71 \begin{itemize} 1.72 \item Konkrete Implementierung eines Entwurfsmusters. 1.73 @@ -99,7 +91,7 @@ 1.74 } 1.75 1.76 1.77 -\section{Weitere Beispiele} 1.78 +\subsection{Weitere Beispiele} 1.79 1.80 \frame{ \frametitle{Weitere Beispiele} 1.81 1.82 @@ -114,21 +106,6 @@ 1.83 } 1.84 1.85 1.86 -\section{Tipps zur Anwendung} 1.87 - 1.88 -\frame{ \frametitle{Tipps zur Anwendung} 1.89 - 1.90 - \begin{block}{} 1.91 - \begin{itemize} 1.92 - \item 1.93 - \item 1.94 - \item 1.95 - \end{itemize} 1.96 - \end{block} 1.97 - 1.98 -} 1.99 - 1.100 - 1.101 1.102 1.103 1.104 @@ -160,26 +137,72 @@ 1.105 } 1.106 1.107 1.108 +\subsection{Programmier-Anti-Patterns} 1.109 \frame{ \frametitle{Programmierungs-Anti-Patterns} 1.110 1.111 - \begin{block}{} 1.112 + \begin{block}{Zwiebel} 1.113 \begin{itemize} 1.114 - \item 1.115 - \item 1.116 + \item Neue Funktionalität wird um (oder über) die alte gelegt 1.117 + \item Häufig bei Erweiterungen 1.118 + \item Führt zu vielschichtigem Programmcode (Zwiebel) 1.119 + \end{itemize} 1.120 + \end{block} 1.121 + 1.122 + \pause 1.123 + 1.124 + \begin{block}{Lavafluss} 1.125 + \begin{itemize} 1.126 + \item in Anwendung häuft sich ``toter Quelltext'' 1.127 + \item Statt zu löschen wird um ihn ``herum'' programmiert 1.128 \end{itemize} 1.129 \end{block} 1.130 1.131 } 1.132 1.133 1.134 +\section{Tipps zur Anwendung} 1.135 + 1.136 +\frame{ \frametitle{Tipps zur Anwendung} 1.137 + 1.138 + \begin{block}{Auswahl eines Entwurfmusters} 1.139 + Problem: Viele (ähnliche) Muster kommen in Frage 1.140 + \begin{itemize} 1.141 + \item Musterkatalog 1.142 + \item Genaue Analyse des Problems 1.143 + \end{itemize} 1.144 + \end{block} 1.145 + 1.146 + \pause 1.147 + 1.148 + \begin{block}{Verwendung des Musters} 1.149 + Problem: Verstehen wie das Muster unser Problem löst 1.150 + \begin{itemize} 1.151 + \item Strukturdiagramm (UML) 1.152 + \item Objekt/Klassenliste 1.153 + \item Implementierungsbeispiele 1.154 + \end{itemize} 1.155 + \end{block} 1.156 + 1.157 + \pause 1.158 + 1.159 + \begin{block}{Wann sollte KEIN Entwurfsmuster benutzt werden} 1.160 + \begin{itemize} 1.161 + \item Muster dürfen den Code nicht verkomplizieren 1.162 + \item Oft reicht eine Lösung die zwar weniger flexibel aber simpler ist 1.163 + \end{itemize} 1.164 + \end{block} 1.165 + 1.166 +} 1.167 + 1.168 + 1.169 1.170 \section{Zusammenfassung} 1.171 -\frame{ %\frametitle{Zusammenfassend} 1.172 +\frame{ 1.173 \begin{block}{Zusammenfassung} 1.174 \begin{itemize} 1.175 - \item 1.176 - \item 1.177 - \item 1.178 + \item Es gibt verschiedene Arten von Mustern – für uns von direkter Bedeutung sind Entwurfs-, Architekturmuster und Idome 1.179 + \item Anti-Pattern zeigen welche Fehler man vermeiden sollte 1.180 + \item Bei Anwendung von Mustern das Problem genau analysieren, passendes Muster suchen und gegebenenfalls anwenden 1.181 \end{itemize} 1.182 \end{block} 1.183 }