Galera, desta vez o assunto é mais sério. Design Patterns. De acordo com o padrão DAO (Data Access Object), devo ter uma classe para transferencia de dados que contenham todos os atributos de uma tabela do banco de dados como private, sendo assim, deve haver um método público para cada atributo, para defini-los bem como acessa-los. A dúvida é: eu preciso realmente de um para cada? A dúvida, é por ter visto assim em exemplos, e me deu vontade de fazer os métodos __set() e __get() mais genéricos de acordo com o exemplo à saber:
class Teste{
private
$teste,
$teste2;
public function __set($attName, $value){
$this->$attName = $value;
}
public function __get($attName){
return $this->$attName;
}
}
$t = new Teste();
$t->__set('teste', 'Rafael');
$t->__set('teste2', 'oi');
echo $t->__get('teste2'); //oi
echo $t->__get('teste'); //Rafael
Isso também é correto? Eu achei que fosse porque economizou código, o foco do DAO é separar as regras de negócio dos métodos de acesso ao banco, ficando assim as classes, mais fáceis de serem reutilizadas, bem como o código arrumado. Mas se puderem opinar eu agradeceria muito.
Pergunta
Rafael Laurindo
Galera, desta vez o assunto é mais sério. Design Patterns. De acordo com o padrão DAO (Data Access Object), devo ter uma classe para transferencia de dados que contenham todos os atributos de uma tabela do banco de dados como private, sendo assim, deve haver um método público para cada atributo, para defini-los bem como acessa-los. A dúvida é: eu preciso realmente de um para cada? A dúvida, é por ter visto assim em exemplos, e me deu vontade de fazer os métodos __set() e __get() mais genéricos de acordo com o exemplo à saber:
Isso também é correto? Eu achei que fosse porque economizou código, o foco do DAO é separar as regras de negócio dos métodos de acesso ao banco, ficando assim as classes, mais fáceis de serem reutilizadas, bem como o código arrumado. Mas se puderem opinar eu agradeceria muito.
Editado por Rafael LaurindoLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.