File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change 11## \faicon{sitemap} \hspace{.1cm} Struktur & Sequenzdiagram
22![ Klassendiagram des Proxy-Musters] ( ../assets/images/proxy_class_diagram.png ) { .float-left width=60% }
3- ![ Sequenzdiagram des Proxy-Musters] ( ../assets/images/proxy_sequence_diagram.png ) { width=40% }
3+ ![ Sequenzdiagram des Proxy-Musters] ( ../assets/images/proxy_sequence_diagram.png ) { width=40% }
4+
5+ * ** ISubjekt** definiert dabei das Interface für das Subjekt und den Proxy
6+ * ** Subjekt** ist die Klasse, welche die eigentliche Logik implementiert
7+ * ** Proxy** beinhaltet eine Eigenschaft, die eine Referenz zum Subjekt speichert. Methodenaufrufe werden in der Regel
8+ anschließend an das Subjekt delegiert.
9+ * ** Client** ruft Methodenaufrufe über das definierte ISubject auf, sodass das
10+ [ Liskovsche Substitutionsprinzip (LSP)] ( https://de.wikipedia.org/wiki/Liskovsches_Substitutionsprinzip ) erfüllt bleibt.
11+ Es kann also mit beiden Klassen gleichweise kommunizieren.
Original file line number Diff line number Diff line change 1+ ## \faicon{bullhorn} \hspace{.1cm} Verwendbarkeit
2+ Proxies werden häufig in Situationen verwendet, in welcher anstelles eines normalen Zeigers eine komplexere Referenz
3+ auf ein Objekt notwendig ist. Es wird dabei meistens unter folgende Arten von Proxies unterschieden:
4+
5+ * ** Virtual Proxies** verzögern die Instanzzierung eines Objekts (Lazy Loading)
6+ * ** Remote Proxies** kontrollieren einen Zugriff auf ein entferntes Objekt
7+ * ** Protection Proxies** ermöglichen eine Zugriffskontrolle auf das Subjekt
8+ * ** Cache Proxies** ermöglichen die Zwischenspeicherung zur schnelleren Auslieferung an den Client
9+ * ** Logging Proxies** ermöglichen das Protokollieren eines Aufrufs, bevor dieser an das Subjekt delegiert wird.
10+
11+ Es existieren noch einige weitere Arten des Proxy-Pattern, welche allerdings seltener verwendet werden.
You can’t perform that action at this time.
0 commit comments