From 695ab69d91879259638ffaea595406bcdecf58fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mikl=C3=B3s=20T=C3=B3th?= <tothmiklostibor@gmail.com>
Date: Mon, 26 Apr 2021 13:52:38 +0200
Subject: [PATCH] =?UTF-8?q?grafikus=20fel=C3=BClet=20docs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docs/weeks/11/11_2.tex | 38 +++++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/docs/weeks/11/11_2.tex b/docs/weeks/11/11_2.tex
index ad8c8f24..c4fd025b 100644
--- a/docs/weeks/11/11_2.tex
+++ b/docs/weeks/11/11_2.tex
@@ -1,18 +1,38 @@
 \subsection{A grafikus rendszer architektúrája}
 
-A felület működésének elve, a grafikus rendszer architektúrája (struktúra diagramok).
-A struktúra diagramokon a prototípus azon és csak azon osztályainak is szerepelnie kell,
-amelyekhez a grafikus felületet létrehozó osztályok kapcsolódnak.
+\noindent\begin{center}
+     \begin{tikzpicture}
+         \umlbasiccomponent[x=8]{Modell}
+
+         \umlbasiccomponent[x=2]{UI}
+         \umlprovidedinterface{UI}
+
+         \umlactor[x=-3, y=-2]{Játékos 3}
+         \umlactor[x=-3]{Játékos 2}
+         \umlactor[x=-3, y=2]{Játékos 1}
+         \umlassoc{Játékos 1}{UI-west-interface}
+         \umlassoc{Játékos 2}{UI-west-interface}
+         \umlassoc{Játékos 3}{UI-west-interface}
+
+         \umlassemblyconnector[interface=SettlerObserver, anchor1=50, anchor2=-230]{UI}{Modell}
+         \umlassemblyconnector[interface=PortalObserver, anchor1=10, anchor2=-190]{UI}{Modell}
+         \umlassemblyconnector[interface=GameObserver, anchor1=-20, anchor2=-160]{UI}{Modell}
+         \umlassemblyconnector[interface=AsteroidObserver, anchor1=-70, anchor2=-100]{UI}{Modell}
+     \end{tikzpicture}
+\end{center}
 
 \subsubsection{A felület működési elve}
 
-Le kell írni, hogy a grafikai megjelenésért felelős osztályok, objektumok hogyan kapcsolódnak a meglevő rendszerhez,
-a megjelenítés során mi volt az alapelv.
-Törekedni kell az MVC megvalósításra. Alapelvek lehetnek: push alapú: a modell értesíti a felületet,
-hogy változott; pull alapú: a felület kérdezi le a modellt, hogy változott-e; kevert: a kettőkombinációja.
+A felület megírásakor törekedtünk annak könnyű bővíthetőségére, cserélhetőségére. A modellünkben vannak \emph{Observer} végű absztrakt osztályok,
+ezek függvényei a modell különböző eseményeihez kapcsolódnak. A felhasználói felület ezeket az absztrakt osztályokat bővíti, implementálja,
+és a megfigyelt objektumok létrehozásakor feliratkozik azok eseményeire.
 
-\subsubsection{A felület osztály-struktúrája}
+Emellett a felhasználói felület a felhasználó bemeneteire meghívja a megfelelő publikus függvényeket a modellben.
 
-Osztálydiagram. Minden új osztály, és azon régiek, akik az újakhoz közvetlenül kapcsolódnak.
+Így a felületünk architektúrailag bővíthető és push alapú, ezáltal hatékony is.
+
+A felület megírásához JavaFX-et használunk.
+
+\subsubsection{A felület osztály-struktúrája}
 
 \classdiag{}
\ No newline at end of file
-- 
GitLab