Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou estudando um pouco de design patterns
Mas me surgiu umas dúvidas
As vezes vejo artigos de outras linguagens, que usam o DbAdapter, o Delegate. Exemplo o .net que usa
o commandAdapter, o Zend_Db_Adapter ...
Ai eu vejo que existem patterns com nomes como adapter, deletage, sigleton, factory, strategy
Minha pergunta é:
O dbadaper, implementa o patterns adapter? O delegate implementa o patterns delegate?
Desculpe se essa minha pergunta for meio básica para alguns, mas até uns tempo atras,
eu não conhecia os design patterns.
Att Samuel
Padrões de Projeto na maioria das vezes são mais um conceito do que uma implementação em si, permitindo que estes solucionem problemas nas mais diferentes linguagens.
Um Adapter, como o próprio nome diz, adapta a interface de uma classe através de outra. No âmbito das DBAL's pode representar uma mesma interface por você definida que permite acesso à virtualmente infinitos drivers de conexão os quais podem ter assinaturas diferentes.
Eu por exemplo utilizo um Adapter para simplificar a interface da PDO pois alguns métodos são muito verbosos ou de uso estranho.
Apesar de poder haver uma interface na implementação, o Delegate em si não é uma interface, é outro padrão que visa reduzir o acoplamento entre classes/métodos justamente por "quebrar" uma tarefa maior em múltiplas partes menores, delegando (daí o nome) a responsabilidade de cada uma à uma classe/método diferente.
>
O dbAdapter não implementa o padrão de projeto Adapter. O que seria este delegate que você falou no Zend? Nunca vi nada parecido.
Carlos Eduardo
obrigado pelas explicacoes galera...
Nao disse sobre o zend ter delegate... Quando falei do delegate, quis dizer o .net
queria saber se os delegates do .net, tinha alguma coisa a ver com esse negocio de design patterns, pois existe um design patterns chamado delegate se nao me engano
O dbAdapter não implementa o padrão de projeto Adapter. O que seria este delegate que você falou no Zend? Nunca vi nada parecido.
Carlos Eduardo