Advertisement
Guest User

Abstract FactoryMethod en php

a guest
Oct 22nd, 2014
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. // constructor abstracto
  4. abstract class AbstractFactory
  5. {
  6.     // el tipo que devolverá esta función factory será EjemploAbstracto
  7.     abstract public function FactoryEjemplo(...$params);
  8.     // el tipo que devolverá esta función factory será OtroEjemploAbsracto
  9.     abstract public function FactoryOtroEjemplo(...$params);
  10. }
  11.  
  12. // constructor concreto
  13. class ConstructorConcreto extends AbstractFactory
  14. {
  15.     public function FactoryEjemplo(...$params)
  16.     {
  17.         return new EjemploConcreto(...$params);
  18.     }
  19.    
  20.     public function FactoryOtroEjemplo(...$params)
  21.     {
  22.         return new OtroEjemploConcreto(...$params);
  23.     }
  24. }
  25.  
  26. // ejemplo abstracto
  27. abstract class EjemploAbstracto { }
  28.  
  29. // otro ejemplo abstracto
  30. abstract class OtroEjemploAbstracto { }
  31.  
  32. // ejemplo concreto
  33.  
  34. class EjemploConcreto extends EjemploAbstracto
  35. {
  36.     public function __construct()
  37.     {
  38.         //...
  39.     }
  40. }
  41.  
  42. // otro ejemplo concreto
  43.  
  44. class OtroEjemploConcreto extends OtroEjemploAbstracto
  45. {
  46.     public function __construct()
  47.     {
  48.         //...
  49.     }
  50. }
  51.  
  52. $factory = new ConstructorConcreto();
  53. $ejemplo = $factory->FactoryEjemplo();
  54. $otroEjemplo = $factory->FactoryOtroEjemplo();
  55.  
  56. // crear otros ejemplos
  57. $factory2 = new ConstructorConcreto();
  58. $ejemplo2 = $factory->FactoryEjemplo();
  59. $otroEjemplo2 = $factory->FactoryOtroEjemplo();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement