diff --git a/Structural/Proxy/README.md b/Structural/Proxy/README.md index 3ee37ef..b4c0e39 100644 --- a/Structural/Proxy/README.md +++ b/Structural/Proxy/README.md @@ -7,3 +7,7 @@ To interface to anything that is expensive or impossible to duplicate. ## Examples * Doctrine2 uses proxies to implement framework magic (e.g. lazy initialization) in them, while the user still works with his own entity classes and will never use nor touch the proxies + +## UML Diagram + +![Alt Proxy UML Diagram](uml/uml.png) \ No newline at end of file diff --git a/Structural/Proxy/uml/uml.png b/Structural/Proxy/uml/uml.png new file mode 100644 index 0000000..2d7b804 Binary files /dev/null and b/Structural/Proxy/uml/uml.png differ diff --git a/Structural/Proxy/uml/uml.svg b/Structural/Proxy/uml/uml.svg new file mode 100644 index 0000000..939c8e6 --- /dev/null +++ b/Structural/Proxy/uml/uml.svg @@ -0,0 +1 @@ +Record$data : array|null__construct($data = null)__set($name : string, $value : mixed)__get($name : string)RecordProxy$isDirty : bool$isInitialized : bool__construct(data : array)__set($name : string, $value : mixed) \ No newline at end of file diff --git a/Structural/Proxy/uml/uml.txt b/Structural/Proxy/uml/uml.txt new file mode 100644 index 0000000..22c5272 --- /dev/null +++ b/Structural/Proxy/uml/uml.txt @@ -0,0 +1,18 @@ +@startuml + +class Record { + #$data : array|null + +__construct($data = null) + +__set($name : string, $value : mixed) + +__get($name : string) +} + +class RecordProxy { + #$isDirty : bool + #$isInitialized : bool + +__construct(data : array) + +__set($name : string, $value : mixed) +} + +Record <|.. RecordProxy +@enduml \ No newline at end of file