diff --git a/Defensio/02_Praesentation_Konstantin_Hintermayer.md b/Defensio/02_Praesentation_Konstantin_Hintermayer.md index 7c3cce5..398f55c 100644 --- a/Defensio/02_Praesentation_Konstantin_Hintermayer.md +++ b/Defensio/02_Praesentation_Konstantin_Hintermayer.md @@ -95,26 +95,63 @@ sequenceDiagram ``` -## Softwarearchitektur +## Von Commit zu Paket + + +\begin{tikzpicture}[ + node distance=1cm, + stepnode/.style={circle, minimum size=1.2cm, draw, line width=1.5pt, fill=white, inner sep=0pt}, + labelnode/.style={align=center, font=\small\bfseries}, + textnode/.style={align=center, font=\scriptsize, color=gray}, + track/.style={line width=2pt, gray!20} +] + % Central Track + \draw[track] (-1,0) -- (12,0); + + \node[stepnode, draw=gray] (n1) at (0,0) {\color{gray}\small\faCodeBranch}; + \node[stepnode, draw=green!60!black, right=of n1] (n2) {\color{green!60!black}\small\faCheckCircle}; + \node[stepnode, draw=blue!60!black, right=of n2] (n3) {\color{blue!60!black}\small\faCogs}; + \node[stepnode, draw=orange, right=of n3] (n4) {\color{orange}\small\faBoxOpen}; + \node[stepnode, draw=orange!70!black, right=of n4] (n5) {\color{orange!70!black}\small\faDatabase}; + + % Labels Above + \node[labelnode, below=0.2cm of n1, color=gray] {Commit}; + \node[labelnode, below=0.2cm of n2, color=green!60!black] {Tag}; + \node[labelnode, below=0.2cm of n3, color=blue!60!black] {CI/CD}; + \node[labelnode, below=0.2cm of n4, color=orange] {.deb Paket}; + \node[labelnode, below=0.2cm of n5, color=orange!70!black] {Registry}; +\end{tikzpicture} + +\vspace{1em} + +**Ablauf:** + +1. laufende Entwicklung +2. Commit zu einem Release zusammenfassen (Tag) +3. CI/CD Pipeline beginnt zu laufen +4. .deb Paket wird gebaut +5. .deb Paket wird in der Registry abgelegt + +## Softwarearchitektur (.NET / Oqtane) + +**Design Patterns:** + +\begin{tikzpicture}[ + node distance=0.15cm, + stepnode/.style={rectangle, draw, line width=1.5pt, minimum width=1.5cm, minimum height=1.5cm, fill=white, inner sep=0pt}, +] + \node[stepnode, draw=gray!60!black] (n1) at (0,0) {\LARGE\color{gray!60!black}S}; + \node[stepnode, draw=green!60!black, right=of n1] (n2) {\LARGE\color{green!60!black}O}; + \node[stepnode, draw=blue!60!black, right=of n2] (n3) {\LARGE\color{blue!60!black}L}; + \node[stepnode, draw=orange, right=of n3] (n4) {\LARGE\color{orange}I}; + \node[stepnode, draw=orange!70!black, right=of n4] (n5) {\LARGE\color{orange!70!black}D}; +\end{tikzpicture} + +\vspace{1em} - Open-Closed Principle -- Strategy Pattern -- Dependency Injection - -## Technischer Vergleich - -Bisherige Erfahrungen: - -- Go -- Typescript -- GRPC (interprozess Kommunikation) - -Untersuchungsgebiete: - -- Typisierung -- Konsistenz - -## Teamleitung +- Dependency Injection (IServiceProvider) +- Repository-Pattern (EntityFramework) ::: columns