mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-02-24 17:52:25 +01:00
75 lines
1.1 KiB
ReStructuredText
75 lines
1.1 KiB
ReStructuredText
`Bridge`_
|
|
=========
|
|
|
|
Purpose
|
|
-------
|
|
|
|
Decouple an abstraction from its implementation so that the two can vary
|
|
independently. (http://en.wikipedia.org/wiki/Bridge\_pattern)
|
|
|
|
Sample:
|
|
^^^^^^^
|
|
|
|
- `Symfony
|
|
DoctrineBridge <https://github.com/symfony/DoctrineBridge>`__
|
|
|
|
UML Diagram
|
|
-----------
|
|
|
|
.. image:: uml/uml.png
|
|
:alt: Alt Bridge UML Diagram
|
|
:align: center
|
|
|
|
Code
|
|
----
|
|
|
|
You can also find these code on `GitHub`_
|
|
|
|
Assemble.php
|
|
|
|
.. literalinclude:: Assemble.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Workshop.php
|
|
|
|
.. literalinclude:: Workshop.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Car.php
|
|
|
|
.. literalinclude:: Car.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Motorcycle.php
|
|
|
|
.. literalinclude:: Motorcycle.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Vehicle.php
|
|
|
|
.. literalinclude:: Vehicle.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Produce.php
|
|
|
|
.. literalinclude:: Produce.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
Test
|
|
----
|
|
|
|
Tests/BridgeTest.php
|
|
|
|
.. literalinclude:: Tests/BridgeTest.php
|
|
:language: php
|
|
:linenos:
|
|
|
|
.. _`GitHub`: https://github.com/domnikl/DesignPatternsPHP/tree/master/Structural/Bridge
|
|
.. _`Bridge`: http://en.wikipedia.org/wiki/Bridge_pattern
|