# HG changeset patch # User meillo@marmaro.de # Date 1182935803 -7200 # Node ID e7ac382e4a209404a022ae5c73a8c7ae553d85b8 # Parent 6592083da58a132829e75d17f46c826381640bac added content to weiterePatterns diff -r 6592083da58a -r e7ac382e4a20 01_einfuehrung.tex --- a/01_einfuehrung.tex Tue Jun 26 22:30:35 2007 +0200 +++ b/01_einfuehrung.tex Wed Jun 27 11:16:43 2007 +0200 @@ -118,7 +118,6 @@ \item Gemeinsame Kommunikationsgrundlage \item Sauberes OO-Design \item Lesbarkeit - \item Kommunikation \item Geringerer Testaufwand \item Höhere Robustheit \end{itemize} @@ -155,7 +154,7 @@ \section{Beispiele} \frame{ \frametitle{Beispiele} - \begin{block}{In der Vorlesung behandelte Design Pattern} + \begin{block}{Im Script behandelte Design Pattern} \begin{itemize} \item Singleton \item Strategie diff -r 6592083da58a -r e7ac382e4a20 05_antiPatterns.tex --- a/05_antiPatterns.tex Tue Jun 26 22:30:35 2007 +0200 +++ b/05_antiPatterns.tex Wed Jun 27 11:16:43 2007 +0200 @@ -6,33 +6,23 @@ \documentclass{beamer} - -% \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{ngerman} \usepackage{graphicx} \usepackage[automark]{scrpage2} \input{Style01} - + \title{Andere Patterns} + \author{Julian Haug} + \date{} \begin{document} - -\title{Andere Patterns} -\author{Julian Haug} -\date{} - -%\titlegraphic{\includegraphics[width=3cm]{Pics/Maka-Logo.png}} - \frame{ \titlepage } - - - \section[Outline]{} \frame{ \tableofcontents @@ -56,11 +46,11 @@ } -\section{Beispiele anderer Muster} +\subsection{Beispiele anderer Muster} -\frame{ \frametitle{Beispiele anderer Muster} +\frame{ \frametitle{Architekturmuster} - \begin{block}{Architekturmuster} + \begin{block}{} \begin{itemize} \item beschreiben typische Software-Architekturen \item bestimmen nicht ein konkretes Teilproblem, sondern den Grundaufbau der Anwendung @@ -77,7 +67,7 @@ } -\section{Idom} +\subsection{Idom} \frame{ \frametitle{Idom} @@ -88,6 +78,8 @@ \end{itemize} \end{block} + \pause + \begin{block}{Anwendung} \begin{itemize} \item Konkrete Implementierung eines Entwurfsmusters. @@ -99,7 +91,7 @@ } -\section{Weitere Beispiele} +\subsection{Weitere Beispiele} \frame{ \frametitle{Weitere Beispiele} @@ -114,21 +106,6 @@ } -\section{Tipps zur Anwendung} - -\frame{ \frametitle{Tipps zur Anwendung} - - \begin{block}{} - \begin{itemize} - \item - \item - \item - \end{itemize} - \end{block} - -} - - @@ -160,26 +137,72 @@ } +\subsection{Programmier-Anti-Patterns} \frame{ \frametitle{Programmierungs-Anti-Patterns} - \begin{block}{} + \begin{block}{Zwiebel} \begin{itemize} - \item - \item + \item Neue Funktionalität wird um (oder über) die alte gelegt + \item Häufig bei Erweiterungen + \item Führt zu vielschichtigem Programmcode (Zwiebel) + \end{itemize} + \end{block} + + \pause + + \begin{block}{Lavafluss} + \begin{itemize} + \item in Anwendung häuft sich ``toter Quelltext'' + \item Statt zu löschen wird um ihn ``herum'' programmiert \end{itemize} \end{block} } +\section{Tipps zur Anwendung} + +\frame{ \frametitle{Tipps zur Anwendung} + + \begin{block}{Auswahl eines Entwurfmusters} + Problem: Viele (ähnliche) Muster kommen in Frage + \begin{itemize} + \item Musterkatalog + \item Genaue Analyse des Problems + \end{itemize} + \end{block} + + \pause + + \begin{block}{Verwendung des Musters} + Problem: Verstehen wie das Muster unser Problem löst + \begin{itemize} + \item Strukturdiagramm (UML) + \item Objekt/Klassenliste + \item Implementierungsbeispiele + \end{itemize} + \end{block} + + \pause + + \begin{block}{Wann sollte KEIN Entwurfsmuster benutzt werden} + \begin{itemize} + \item Muster dürfen den Code nicht verkomplizieren + \item Oft reicht eine Lösung die zwar weniger flexibel aber simpler ist + \end{itemize} + \end{block} + +} + + \section{Zusammenfassung} -\frame{ %\frametitle{Zusammenfassend} +\frame{ \begin{block}{Zusammenfassung} \begin{itemize} - \item - \item - \item + \item Es gibt verschiedene Arten von Mustern – für uns von direkter Bedeutung sind Entwurfs-, Architekturmuster und Idome + \item Anti-Pattern zeigen welche Fehler man vermeiden sollte + \item Bei Anwendung von Mustern das Problem genau analysieren, passendes Muster suchen und gegebenenfalls anwenden \end{itemize} \end{block} }