Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Estou estudando um pouco de oo, sobre padrões de desenvolvimento,
Estou com uma dúvida, na verdade eu gostaria de saber se existe vantagem em usar um ou outro.
Para carregar objetos únicos de uma classe, tipo uma classe de BD, eu não preciso de dois objetos, hoje eu estou usando o Factory (conforme o código, uso para BD, Sessões...), porém vi uma outra forma de se fazer isso, gostaria de saber qual das duas é a melhor, ou se devo usar cada uma em situações diferentes, se for em situações distintas, por favor cite exemplos..
Desde já obrigado a todos pela ajuda.
segue o cógido é só rodar em PHP5:
CODE
<?
class aaa
{
public $texto;
public function __construct()
{
$this->texto = 'textointerno';
}
public function setTexto( $texto )
{
$this->texto = $texto;
}
public function &getI()
{
static $instances;
if (is_object($instances))
{
return $instances;
}
else
{
$instances = new aaa;
return $instances;
}
}
}// end
class factory
{
public static function &getA()
{
static $instances;
if (is_object($instances))
{
return $instances;
}
else
{
$instances = factory::createA();
return $instances;
}
}
private static function createA()
{
$objetoA = new aaa;
return $objetoA;
}
}
/ Chamando direto pela classe /
$_a1 = new aaa;
$_a1->setTexto('colocado 0<br>');
echo $_a1->texto;
$b_1 =& aaa::getI();
$b_1->setTexto('inserido 1<br>');
echo $b_1->texto;
$b_2 =& aaa::getI();
$b_2->setTexto('inserido 2<br>');
echo $b_2->texto;
echo $b_1->texto . $b_2->texto . $_a1->texto;
/ chamando pela fectoty /
$fac_1 =& factory::getA();
$fac_1->setTexto('pela factory 1<br>');
echo $fac_1->texto;
$fac_2 =& factory::getA();
$fac_2->setTexto('pela factory 2<br>');
echo $fac_2->texto;
echo $fac_1->texto . $fac_2->texto;
?>Carregando comentários...