Skip to content

Files

Latest commit

2f467fe · Apr 4, 2017

History

History
This branch is 433 commits behind DesignPatternsPHP/DesignPatternsPHP:main.

Multiton

Multiton

THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND MAINTAINABILITY USE DEPENDENCY INJECTION!

Purpose

To have only a list of named instances that are used, like a singleton but with n instances.

Examples

  • 2 DB Connectors, e.g. one for MySQL, the other for SQLite
  • multiple Loggers (one for debug messages, one for errors)

UML Diagram

Alt Multiton UML Diagram

Code

You can also find this code on GitHub

Multiton.php

.. literalinclude:: Multiton.php
   :language: php
   :linenos:

Test