Qual a melhor forma de proceder?
Pessoalmente, desconsiderando demais aspectos do “sistema”, tanto faz.
Utilizaria pessoa.bebeAgua(), tem um tom ativo na coisa, soa mais natural .
Existe algum artigo sobre isso?
Qual a melhor forma de proceder?
Pessoalmente, desconsiderando demais aspectos do “sistema”, tanto faz.
Utilizaria pessoa.bebeAgua(), tem um tom ativo na coisa, soa mais natural .
Existe algum artigo sobre isso?[/quote]
Hummm.
public class Pessoa{
public void beber(Liquido l){
l.matarSede(this);
}
}
As duas abordagens são possíveis em um mesmo caso (esqueminha mais ou menos semelhante a um Visitor). Mas, o que lhe parece mais intuitivo? (esta resposta vai determinar seu grau de sanidade mental!)
E ajudar a manter a saude mental de quem for trabalhar no seu sistema depois, tentnado entender por que diabos um copo d’agua voou na cara do sujeito :P[/quote]
rsrsrsrs… tah certo que até tem nexo o pergunta… pq mexe um puco com modelagem… o exemplo do beber agua é q foi infeliz!!!
Eu discordo…achei esse exemplo muito interessante pra levar pra discussões sobre modelagem de sistemas, porque é intuitivo e dá margem às duas abordagens
…,soa mais natural. Essa é a ideia da coisa, ser o mais natural possivel.
Daniel Quirino:
Resposta exata, muito obrigado.
na realidade obreigado pela participação de todos(até mesmo os engraçadinhos :mrgreen: )
Algum link “bom de verdade” pra esse Visitor?
O google eu também conheço :mrgreen: . Dificil é separar o joio do trigo, por isso pedi um artigo “bom de verdade” sobre esse Visitor. Mesmo assim value…
a abordagem do dao não seria melhor neste caso?[/quote]
Aí depende, ser persistido em um banco de dados não é uma coisa natural, teve um tópico aqui que se discutiu sobre a transparência ou não da persistência.
A idéia do ActiveRecord é apenas implificar o trabalho com bancos de dados quando os objetos são iguais as tabelas, se você mexe muito com herança, relacionamentos 1:N e N:N o DAO é uma escolha muito melhor.
Dá uma olhada nesse livro do Fowler que foi nele que apareceu o ActiveRecord: