diff --git a/report.pdf b/report.pdf index c75687a..1d1e160 100644 Binary files a/report.pdf and b/report.pdf differ diff --git a/report.tex b/report.tex index e150014..27c3349 100644 --- a/report.tex +++ b/report.tex @@ -1,6 +1,6 @@ % vim: set ts=2 sw=2 et tw=80: -\documentclass[12pt,a4paper]{article} +\documentclass[12pt,a4paper]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[margin=2cm]{geometry} \usepackage{hyperref} @@ -56,7 +56,7 @@ We chose to analyze version 2.13.4 of the module (corresponding to the code under the git tag \texttt{jackson-core-2.13.4}) because it is the latest stable version available at the time of writing. -\section{Analysis} +\section{Analysis Implementation} We use \href{https://users.encs.concordia.ca/~nikolaos/pattern\_detection.html}{\textit{Pattern4}} @@ -70,7 +70,9 @@ instead, as it is the previous LTS version. An XML dump of the \textit{Pattern4j} analysis results are included in the submission as the file \texttt{analysis.xml}. -\subsection{Singleton pattern} +\section{Structural Patterns} + +\subsection{Singleton Pattern} Lots of false positives for the Singleton pattern. Example, com.fasterxml.jackson.core.sym.Name1 has a package private constructor and a public static final instance of it, but reading the documentation the class @@ -145,24 +147,37 @@ produced the following results: array representation. \end{description} +\section{Creational Patterns} +\subsection{Adapter Pattern} +TBD -Structural patterns provide flexible ways of combining and connecting components. -- abstract factory -- singleton -- builder +\subsection{Bridge Pattern} +TBD -Creational patterns deal with object creation mechanisms in situations where directly using constructors is inconvenient. -- adapter -- bridge -- composite -- facade -- proxy +\subsection{Composite Pattern} +TBD + +\subsection{Facade Pattern} +TBD + +\subsection{Proxy Pattern} +TBD + +\section{Behavioral Patterns} +\subsection{Command Pattern} +TBD + +\subsection{Observer Pattern} +TBD + +\subsection{Strategy Pattern} +TBD + +\subsection{Template Method Pattern} +TBD + +\subsection{Visitor Pattern} +TBD -Behavioral patterns provides way of coordinating object behavior without increasing coupling too much. -- command -- observer -- strategy -- template method -- visitor \end{document}