diff --git a/docs/weeks/11/11_2.tex b/docs/weeks/11/11_2.tex index ad8c8f24bd98b1b0d13b670ccf1c82c55b9dd34e..c4fd025b6d7ae86981abf74a555c1f6b0f6d39c6 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