mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-08-08 16:06:31 +02:00
execute read-the-docs.sh
This commit is contained in:
64
Creational/StaticFactory/index.rst
Normal file
64
Creational/StaticFactory/index.rst
Normal file
@@ -0,0 +1,64 @@
|
||||
Static Factory
|
||||
==============
|
||||
|
||||
Purpose
|
||||
-------
|
||||
|
||||
Similar to the AbstractFactory, this pattern is used to create series of
|
||||
related or dependent objects. The difference between this and the
|
||||
abstract factory pattern is that the static factory pattern uses just
|
||||
one static method to create all types of objects it can create. It is
|
||||
usually named ``factory`` or ``build``.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
- Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory
|
||||
method create cache backends or frontends
|
||||
|
||||
UML Diagram
|
||||
-----------
|
||||
|
||||
.. image:: uml/uml.png
|
||||
:alt: Alt StaticFactory UML Diagram
|
||||
:align: center
|
||||
|
||||
Code
|
||||
----
|
||||
|
||||
You can also find these code on `GitHub`_
|
||||
|
||||
StaticFactory.php
|
||||
|
||||
.. literalinclude:: StaticFactory.php
|
||||
:language: php
|
||||
:linenos:
|
||||
|
||||
FormatterInterface.php
|
||||
|
||||
.. literalinclude:: FormatterInterface.php
|
||||
:language: php
|
||||
:linenos:
|
||||
|
||||
FormatString.php
|
||||
|
||||
.. literalinclude:: FormatString.php
|
||||
:language: php
|
||||
:linenos:
|
||||
|
||||
FormatNumber.php
|
||||
|
||||
.. literalinclude:: FormatNumber.php
|
||||
:language: php
|
||||
:linenos:
|
||||
|
||||
Test
|
||||
----
|
||||
|
||||
Tests/StaticFactoryTest.php
|
||||
|
||||
.. literalinclude:: Tests/StaticFactoryTest.php
|
||||
:language: php
|
||||
:linenos:
|
||||
|
||||
.. _`GitHub`: https://github.com/domnikl/DesignPatternsPHP/tree/master/Creational/StaticFactory
|
Reference in New Issue
Block a user