Updated uml diagrams for structural patterns
41
Structural/Adapter/uml/Adapter.uml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Adapter\Book</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="117.0">\DesignPatterns\Structural\Adapter\EBookAdapter</node>
|
||||
<node x="173.0" y="138.0">\DesignPatterns\Structural\Adapter\Book</node>
|
||||
<node x="-8.0" y="388.0">\DesignPatterns\Structural\Adapter\Kindle</node>
|
||||
<node x="-8.0" y="271.0">\DesignPatterns\Structural\Adapter\EBookInterface</node>
|
||||
<node x="85.75" y="0.0">\DesignPatterns\Structural\Adapter\PaperBookInterface</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\Adapter\EBookAdapter" target="\DesignPatterns\Structural\Adapter\PaperBookInterface">
|
||||
<point x="0.0" y="-54.5" />
|
||||
<point x="80.5" y="92.0" />
|
||||
<point x="125.75" y="92.0" />
|
||||
<point x="-32.0" y="33.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Adapter\Book" target="\DesignPatterns\Structural\Adapter\PaperBookInterface">
|
||||
<point x="0.0" y="-33.5" />
|
||||
<point x="235.0" y="92.0" />
|
||||
<point x="189.75" y="92.0" />
|
||||
<point x="32.0" y="33.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Adapter\Kindle" target="\DesignPatterns\Structural\Adapter\EBookInterface">
|
||||
<point x="0.0" y="-33.5" />
|
||||
<point x="0.0" y="33.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="0.8126315789473684" x="144.5" y="227.50000000000003" />
|
||||
<SelectedNodes />
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 60 KiB |
@@ -1,33 +0,0 @@
|
||||
@startuml
|
||||
interface PaperBookInterface {
|
||||
+turnPage()
|
||||
+open()
|
||||
}
|
||||
|
||||
interface EBookInterface {
|
||||
+pressNext()
|
||||
+pressStart()
|
||||
}
|
||||
|
||||
class Book {
|
||||
+open()
|
||||
+turnPage()
|
||||
}
|
||||
|
||||
class Kindle {
|
||||
+pressNext()
|
||||
+pressStart()
|
||||
}
|
||||
|
||||
class EBookAdapter {
|
||||
#eBook : EBookInterface
|
||||
+__construct(ebook : EBookInterface)
|
||||
+open()
|
||||
+turnPage()
|
||||
}
|
||||
|
||||
PaperBookInterface <|.. Book
|
||||
PaperBookInterface <|.. EBookAdapter
|
||||
EBookInterface <|.. Kindle
|
||||
EBookAdapter o-- EBookInterface
|
||||
@enduml
|
50
Structural/Bridge/uml/Bridge.uml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Bridge\Vehicle</OriginalElement>
|
||||
<nodes>
|
||||
<node x="53.5" y="272.0">\DesignPatterns\Structural\Bridge\Workshop</node>
|
||||
<node x="290.0" y="159.0">\DesignPatterns\Structural\Bridge\Car</node>
|
||||
<node x="107.0" y="369.0">\DesignPatterns\Structural\Bridge\Produce</node>
|
||||
<node x="0.0" y="159.0">\DesignPatterns\Structural\Bridge\Motorcycle</node>
|
||||
<node x="0.0" y="369.0">\DesignPatterns\Structural\Bridge\Assemble</node>
|
||||
<node x="187.5" y="0.0">\DesignPatterns\Structural\Bridge\Vehicle</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\Bridge\Car" target="\DesignPatterns\Structural\Bridge\Vehicle">
|
||||
<point x="0.0" y="-34.0" />
|
||||
<point x="425.0" y="134.0" />
|
||||
<point x="326.25" y="134.0" />
|
||||
<point x="46.25" y="54.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Bridge\Assemble" target="\DesignPatterns\Structural\Bridge\Workshop">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="43.5" y="344.0" />
|
||||
<point x="75.25" y="344.0" />
|
||||
<point x="-21.75" y="23.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Bridge\Motorcycle" target="\DesignPatterns\Structural\Bridge\Vehicle">
|
||||
<point x="0.0" y="-34.0" />
|
||||
<point x="135.0" y="134.0" />
|
||||
<point x="233.75" y="134.0" />
|
||||
<point x="-46.25" y="54.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Bridge\Produce" target="\DesignPatterns\Structural\Bridge\Workshop">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="150.5" y="344.0" />
|
||||
<point x="118.75" y="344.0" />
|
||||
<point x="21.75" y="23.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="0.8853211009174312" x="280.0" y="208.0" />
|
||||
<SelectedNodes />
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 61 KiB |
@@ -1,35 +0,0 @@
|
||||
@startuml
|
||||
class Assemble {
|
||||
+work()
|
||||
}
|
||||
|
||||
class Car {
|
||||
+__construct(Workshop $workShop1, Workshop $workShop2)
|
||||
+manufacture()
|
||||
}
|
||||
|
||||
class Motorcycle {
|
||||
+__construct(Workshop $workShop1, Workshop $workShop2)
|
||||
+manufacture()
|
||||
}
|
||||
|
||||
class Produce {
|
||||
+work()
|
||||
}
|
||||
|
||||
abstract class Vehicle {
|
||||
#workShop1
|
||||
#workShop2
|
||||
#__construct()
|
||||
+manufacture()
|
||||
}
|
||||
|
||||
interface Workshop {
|
||||
+work()
|
||||
}
|
||||
|
||||
Workshop <|.. Assemble
|
||||
Workshop <|.. Produce
|
||||
Vehicle <|.. Motorcycle
|
||||
Vehicle <|.. Car
|
||||
@enduml
|
42
Structural/Composite/uml/Composite.uml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Composite\InputElement</OriginalElement>
|
||||
<nodes>
|
||||
<node x="321.0" y="117.5">\DesignPatterns\Structural\Composite\TextElement</node>
|
||||
<node x="175.0" y="0.0">\DesignPatterns\Structural\Composite\FormElement</node>
|
||||
<node x="175.0" y="117.5">\DesignPatterns\Structural\Composite\InputElement</node>
|
||||
<node x="0.0" y="97.0">\DesignPatterns\Structural\Composite\Form</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\Composite\InputElement" target="\DesignPatterns\Structural\Composite\FormElement">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="0.0" y="23.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Composite\Form" target="\DesignPatterns\Structural\Composite\FormElement">
|
||||
<point x="0.0" y="-44.0" />
|
||||
<point x="77.5" y="72.0" />
|
||||
<point x="196.0" y="72.0" />
|
||||
<point x="-42.0" y="23.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Composite\TextElement" target="\DesignPatterns\Structural\Composite\FormElement">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="384.0" y="72.0" />
|
||||
<point x="280.0" y="72.0" />
|
||||
<point x="42.0" y="23.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="223.5" y="92.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\Composite\InputElement</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 41 KiB |
23
Structural/DataMapper/uml/DataMapper.uml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\DataMapper\User</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="0.0">\DesignPatterns\Structural\DataMapper\User</node>
|
||||
<node x="0.0" y="274.0">\DesignPatterns\Structural\DataMapper\UserMapper</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges />
|
||||
<settings layout="Hierarchic Group" zoom="0.871331828442438" x="141.5" y="211.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\DataMapper\User</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 58 KiB |
@@ -1,24 +0,0 @@
|
||||
@startuml
|
||||
class User {
|
||||
#$userId : int
|
||||
#$username : string
|
||||
#$email : string
|
||||
+__construct($id = null : int, $username = null : string, $email = null : string)
|
||||
+getUserId()
|
||||
+setUserID($userId : int)
|
||||
+getUsername()
|
||||
+setUsername($username : string)
|
||||
+getEmail()
|
||||
+setEmail($email : string)
|
||||
}
|
||||
|
||||
class UserMapper {
|
||||
#$adapter : DBAL
|
||||
+__construct(DBAL $dbLayer)
|
||||
+save(User $user)
|
||||
+findById($id : int)
|
||||
+findAll()
|
||||
#mapObject(array $row)
|
||||
}
|
||||
|
||||
@enduml
|
51
Structural/Decorator/uml/Decorator.uml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Decorator\RenderInXml</OriginalElement>
|
||||
<nodes>
|
||||
<node x="139.0" y="236.0">\DesignPatterns\Structural\Decorator\RenderInJson</node>
|
||||
<node x="0.0" y="236.0">\DesignPatterns\Structural\Decorator\RenderInXml</node>
|
||||
<node x="216.0" y="97.0">\DesignPatterns\Structural\Decorator\Webservice</node>
|
||||
<node x="62.0" y="107.5">\DesignPatterns\Structural\Decorator\Decorator</node>
|
||||
<node x="145.0" y="0.0">\DesignPatterns\Structural\Decorator\RendererInterface</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\Decorator\RenderInJson" target="\DesignPatterns\Structural\Decorator\Decorator">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="198.5" y="211.0" />
|
||||
<point x="162.5" y="211.0" />
|
||||
<point x="33.500000000000014" y="34.0" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Decorator\RenderInXml" target="\DesignPatterns\Structural\Decorator\Decorator">
|
||||
<point x="0.0" y="-23.5" />
|
||||
<point x="59.5" y="211.0" />
|
||||
<point x="95.5" y="211.0" />
|
||||
<point x="-33.5" y="34.0" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Decorator\Webservice" target="\DesignPatterns\Structural\Decorator\RendererInterface">
|
||||
<point x="0.0" y="-44.5" />
|
||||
<point x="283.0" y="72.0" />
|
||||
<point x="236.5" y="72.0" />
|
||||
<point x="30.5" y="23.5" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\Decorator\Decorator" target="\DesignPatterns\Structural\Decorator\RendererInterface">
|
||||
<point x="1.4210854715202004E-14" y="-34.0" />
|
||||
<point x="129.0" y="72.0" />
|
||||
<point x="175.5" y="72.0" />
|
||||
<point x="-30.5" y="23.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="175.0" y="141.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\Decorator\RenderInXml</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 50 KiB |
@@ -1,29 +0,0 @@
|
||||
@startuml
|
||||
interface RendererInterface {
|
||||
+renderData()
|
||||
}
|
||||
|
||||
abstract class Decorator {
|
||||
#$wrapped : RendererInterface
|
||||
+__construct(RendererInterface $wrappable)
|
||||
}
|
||||
|
||||
class RenderInJson {
|
||||
+renderData()
|
||||
}
|
||||
|
||||
class RenderInXml {
|
||||
+renderData()
|
||||
}
|
||||
|
||||
class Webservice {
|
||||
#$data : mixed
|
||||
+__construct($data)
|
||||
+renderData()
|
||||
}
|
||||
|
||||
Decorator <|.. RenderInJson
|
||||
Decorator <|.. RenderInXml
|
||||
RendererInterface <|.. Decorator
|
||||
RendererInterface <|.. Webservice
|
||||
@enduml
|
38
Structural/DependencyInjection/uml/DependencyInjection.uml
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\DependencyInjection\AbstractConfig</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="230.0">\DesignPatterns\Structural\DependencyInjection\Connection</node>
|
||||
<node x="51.0" y="118.0">\DesignPatterns\Structural\DependencyInjection\ArrayConfig</node>
|
||||
<node x="0.0" y="0.5">\DesignPatterns\Structural\DependencyInjection\Parameters</node>
|
||||
<node x="137.0" y="0.0">\DesignPatterns\Structural\DependencyInjection\AbstractConfig</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\DependencyInjection\ArrayConfig" target="\DesignPatterns\Structural\DependencyInjection\AbstractConfig">
|
||||
<point x="39.5" y="-33.5" />
|
||||
<point x="169.5" y="93.0" />
|
||||
<point x="201.5" y="93.0" />
|
||||
<point x="0.0" y="34.0" />
|
||||
</edge>
|
||||
<edge source="\DesignPatterns\Structural\DependencyInjection\ArrayConfig" target="\DesignPatterns\Structural\DependencyInjection\Parameters">
|
||||
<point x="-39.5" y="-33.5" />
|
||||
<point x="90.5" y="93.0" />
|
||||
<point x="58.5" y="93.0" />
|
||||
<point x="0.0" y="33.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="133.0" y="179.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\DependencyInjection\AbstractConfig</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 56 KiB |
@@ -1,28 +0,0 @@
|
||||
@startuml
|
||||
abstract class AbstractConfig {
|
||||
#$storage
|
||||
+__construct($storage)
|
||||
}
|
||||
|
||||
class ArrayConfig {
|
||||
+get($key : string|int, $default = null)
|
||||
+set($key : string|int, $value : mixed)
|
||||
}
|
||||
|
||||
class Connection {
|
||||
#$configuration : Parameters
|
||||
#$host
|
||||
+__construct(Parameters $config)
|
||||
+connect()
|
||||
+getHost()
|
||||
}
|
||||
|
||||
interface Parameters {
|
||||
+get($key : string|int)
|
||||
+set($key, $value : mixed)
|
||||
}
|
||||
|
||||
AbstractConfig <|.. ArrayConfig
|
||||
Parameters <|.. ArrayConfig
|
||||
|
||||
@enduml
|
24
Structural/Facade/uml/Facade.uml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Facade\BiosInterface</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="174.0">\DesignPatterns\Structural\Facade\BiosInterface</node>
|
||||
<node x="208.0" y="174.0">\DesignPatterns\Structural\Facade\OsInterface</node>
|
||||
<node x="0.0" y="0.0">\DesignPatterns\Structural\Facade\Facade</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges />
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="149.0" y="140.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\Facade\BiosInterface</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 48 KiB |
@@ -1,20 +0,0 @@
|
||||
@startuml
|
||||
interface BiosInterface {
|
||||
+execute()
|
||||
+waitForKeyPress()
|
||||
+launch(OsInterface $os)
|
||||
+powerDown()
|
||||
}
|
||||
|
||||
class Facade {
|
||||
#$os : OsInterface
|
||||
#$bios : BiosInterface
|
||||
+__construct(BiosInterface $bios, OsInterface $os)
|
||||
+turnOn()
|
||||
+turnOff()
|
||||
}
|
||||
|
||||
interface OsInterface {
|
||||
+halt()
|
||||
}
|
||||
@enduml
|
22
Structural/FluentInterface/uml/FluentInterface.uml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\FluentInterface\Sql</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="0.0">\DesignPatterns\Structural\FluentInterface\Sql</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges />
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="108.5" y="84.0" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\FluentInterface\Sql</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 31 KiB |
@@ -1,13 +0,0 @@
|
||||
@startuml
|
||||
|
||||
class Sql {
|
||||
#$fields : array
|
||||
#$from : array
|
||||
#$where : array
|
||||
+select(array $fields = array())
|
||||
+from($table : string, $alias : string)
|
||||
+where($condition : string)
|
||||
+getQuery()
|
||||
}
|
||||
|
||||
@enduml
|
28
Structural/Proxy/uml/Proxy.uml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Proxy\Record</OriginalElement>
|
||||
<nodes>
|
||||
<node x="4.0" y="0.0">\DesignPatterns\Structural\Proxy\Record</node>
|
||||
<node x="0.0" y="159.0">\DesignPatterns\Structural\Proxy\RecordProxy</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges>
|
||||
<edge source="\DesignPatterns\Structural\Proxy\RecordProxy" target="\DesignPatterns\Structural\Proxy\Record">
|
||||
<point x="0.0" y="-54.5" />
|
||||
<point x="0.0" y="54.5" />
|
||||
</edge>
|
||||
</edges>
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="81.0" y="134.0" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\Proxy\Record</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 39 KiB |
@@ -1,18 +0,0 @@
|
||||
@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
|
22
Structural/Registry/uml/Registry.uml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Diagram>
|
||||
<ID>PHP</ID>
|
||||
<OriginalElement>\DesignPatterns\Structural\Registry\Registry</OriginalElement>
|
||||
<nodes>
|
||||
<node x="0.0" y="0.0">\DesignPatterns\Structural\Registry\Registry</node>
|
||||
</nodes>
|
||||
<notes />
|
||||
<edges />
|
||||
<settings layout="Hierarchic Group" zoom="1.0" x="97.0" y="54.5" />
|
||||
<SelectedNodes>
|
||||
<node>\DesignPatterns\Structural\Registry\Registry</node>
|
||||
</SelectedNodes>
|
||||
<Categories>
|
||||
<Category>Fields</Category>
|
||||
<Category>Constants</Category>
|
||||
<Category>Constructors</Category>
|
||||
<Category>Methods</Category>
|
||||
</Categories>
|
||||
<VISIBILITY>private</VISIBILITY>
|
||||
</Diagram>
|
||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 25 KiB |
@@ -1,9 +0,0 @@
|
||||
@startuml
|
||||
|
||||
abstract class Registry {
|
||||
#static $storedValues : array;
|
||||
+static function set($key : string, $value : mixed)
|
||||
+static function get($key : string)
|
||||
}
|
||||
|
||||
@enduml
|