the right place

This commit is contained in:
Trismegiste
2013-05-10 19:13:41 +02:00
parent 148bf4934d
commit 7ca8f615d7

View File

@ -1,49 +0,0 @@
<?php
namespace DesignPatterns;
/**
* Factory Method pattern
*
* Purpose:
* similar to the AbstractFactory, this pattern is used to create series of related or dependant objects.
* The difference between this and the abstract factory pattern is that the factory method 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
*
*/
class FactoryMethod
{
/**
* the parametrized function to get create an instance
*
* @static
* @return Formatter
*/
public static function factory($type)
{
$className = 'Format' . ucfirst($type);
if ( ! class_exists($className)) {
throw new Exception('Missing format class.');
}
return new $className();
}
}
interface Formatter
{
}
class FormatString implements Formatter
{
}
class FormatNumber implements Formatter
{
}