Ver Mensaje Individual
  #8 (permalink)  
Antiguo 19/07/2011, 09:14
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Patron decorador

Tenes que solucionar lo de preguntar el tipo.
Código PHP:
Ver original
  1. function __construct ($obj=null){
  2.     if (!($obj instanceof tag)){
  3.       if (!is_object($obj)){
  4.         $obj = (string) $obj;
  5.       }
  6.     }  
  7.     $this->obj = $obj;
  8.   }

con eso estás desaprovechando el polimorfismo y la herencia (o interfaces si era el caso), todos tus ojetos que pueden ser decorados y los que decoran son del mismo tipo, por lo tanto van a responder a las mismas operaciones

y el constructor está aceptando objetos de cualquier tipo

Fijate en la Clase Html del ejemplo de gator_v, el método addTag(Tag $tag) acepta objetos de tipo Tag, depende de Tag y no importa si le pasas un Link, Bold, o Img porque ellos son de tipo Tag

Última edición por Dany_s; 19/07/2011 a las 09:24