Added ServiceLayer

This commit is contained in:
Moser Benjamin 2019-03-02 16:03:11 +01:00
parent 85b546f358
commit d0b3ac99ea
1 changed files with 11 additions and 9 deletions

20
pse.tex
View File

@ -60,9 +60,9 @@ public static DocumentDTO toDTO(Document document){};
\item View (WebApp)
\end{itemize}
\end{itemize}
\begin{figure}[!htp]
\centering
\includegraphics[width=0.4\textwidth]{pics/src_structure.png}
\begin{figure}[tph!]
\centering
\includegraphics[width=0.4\textwidth]{pics/layer-pattern}
\end{figure}
\section{Data Access Object (DAO) Pattern}
Befindet sich im Projekt in data und damit innerhalb des Data Layer.
@ -108,12 +108,16 @@ public class DocumentDAOImpl implements DocumentDAO, Serializable {
\item entkoppelt Implementierung von Persistierung (Datenbank,...)
\item ermöglicht Objektorientierte Ansicht des Speichers
\end{itemize}
\section{Service Layer Pattern (auch Session Fassade)}\label{sec:slp}
\section{Service Layer Pattern (auch Session Fassade - in unserem Projekt im Domain Layer}\label{sec:slp}
\subsection{Erkläre die Funktion + Skizze}\label{subsubsec:service-layer-pattern}
\begin{itemize}
\item Der Service Layer delegiert auf die Business Logik (Zeile 68 community.setDocumentlibrary) und zum DAO (z.B. Zeile 66)
\item Der Service Layer (Ordner "`service"' im Projekt) delegiert auf die Business Logik (Zeile 68 community.setDocumentlibrary) und zum DAO (z.B. Zeile 66)
\item Bei wenig Logik wird zumindest Transaktions (Zeile 40), Error (ab Zeile 42) und Validierungshandling (ab Zeile 23) im Service erledigt
\end{itemize}
\begin{figure}[!htp]
\centering
\includegraphics[width=0.8\textwidth]{pics/sl_pat1.jpg}
\end{figure}
\begin{minted}[xleftmargin=\parindent,linenos,breaklines=true]{java}
@Local(DocumentService.class)
@Remote(DocumentServiceRemote.class)
@ -200,10 +204,7 @@ public class DocumentDAOImpl implements DocumentDAO, Serializable {
public DocumentDTO getDocumentById(Long documentID) {...}
}
\end{minted}
\begin{figure}[!htp]
\centering
\includegraphics[width=0.8\textwidth]{pics/sl_pat1.jpg}
\end{figure}
\subsection{Nenne die Konsequenzen der Anwendung}
\begin{itemize}
\item Reduzierung der Abhängigkeiten zwischen Presentation und Domain Layer
@ -211,6 +212,7 @@ public class DocumentDAOImpl implements DocumentDAO, Serializable {
\item verbirgt vor Client Komplexität der Business Logik
\item stellt Client ein grobkörniges Interface zur Verfügung
\item gut für Remote Aufrufe geeignet (weniger Aufrufe)
\end{itemize}
\section{Model-View-Controller (MVC) Pattern}