Também já usei essa filosofia no passado com um DAL desenvolvido por mim
para .NET.

Neste caso trata-se de um backend muito, muito dinâmico que permite 0 tempo
de programação no mesmo. A única coisa que faço é criar vos numa pasta
própria (mesmo isso se quiser posso eliminar mas o benefício-custo não
compensa).

Quero manter este backend desta forma e para tal só mesmo colocando
metadados nas propriedades do vos a indicar qual é o campo físico que
mapeiam e implementar isso no backend genérico.

Vou analisar se vale a pena o investimento mas é sempre algo que já fica
para o futuro.


No dia 12 de Novembro de 2013 às 11:19, Cristovão Morgado <
[email protected]> escreveu:

> Eu normalmente vou mais longe, tenho o meu DAL ... ORM whatever...
>
> E este nas operações mapeia os meus bussiness objects ... que depois ou
> uso directamente ou mapeio em models à medida de cada funcionalidade ...
>
> Best regards
> Cristóvão Morgado
> pt.linkedin.com/in/cmmorgado/
> github.com/cmorgado
>
>    -
>
>
>
>
> 2013/11/12 Hugo Ferreira <[email protected]>
>
>> Exacto Miguel,
>>
>> O que pretendo é fazer o frontend como deve de ser e deixar o trabalho
>> sujo para outra camada. Pode (e também na minha opinião devia de ser) feito
>> o trabalho de mudança dos nomes do backend sem ter de recorrer à BD no
>> entanto este ORM não me disponibiliza ferramentas para tal (metadados por
>> exemplo).
>>
>> Podia ter um vo com os nomes certos e programar a conversão no backend
>> sem necessitar do ORM, também é uma possibilidade no entanto isso iria
>> obrigar-me a fazer código no backend muito específico e este é um backend
>> muito dinâmico. Só crio VOs e o resto é 100% autonomo com serviços
>> genéricos para as operações de CRUD :)
>>
>>
>>
>>
>> No dia 12 de Novembro de 2013 às 11:11, Miguel Vaz 
>> <[email protected]>escreveu:
>>
>> Hugo,
>>>
>>> Continuo a insistir: Se estás a programar o front end, mostras o que
>>> quiseres, com os nomes que quiseres, e a tua layer de negócio faz o serviço
>>> sujo por trás. Independentemente de nomes foleiros e sem utilizar views.
>>> Poderias usar SPs, mas não vejo necessidade.
>>>
>>> Miguel
>>>
>>>
>>> 2013/11/12 Hugo Ferreira <[email protected]>
>>>
>>>> Bem,
>>>>
>>>> A minha questão ainda continua por responder :P
>>>> É CodeIgniter que por sua vez este usa Active Record:
>>>> http://ellislab.com/codeigniter/user-guide/database/active_record.html
>>>>
>>>>
>>>> Cumps,
>>>> Hugo.
>>>>
>>>>
>>>> No dia 12 de Novembro de 2013 às 10:38, Daniel Gomes <
>>>> [email protected]> escreveu:
>>>>
>>>> Porque é que um ORM não permite flexibilidade? BTW qual é a linguagem
>>>>> de programação do backend?
>>>>>
>>>>> Daniel Gomes
>>>>>
>>>>> *p:* 00351 938185709
>>>>>
>>>>> Linkedin <http://www.linkedin.com/in/danielcsgomes> | 
>>>>> Blog<http://danielcsgomes.com/>
>>>>>  | About Me <http://about.me/danielcsgomes> | 
>>>>> Geeklist<http://geekli.st/danielcsgomes>
>>>>>
>>>>> ZCE PHP 
>>>>> 5.3<http://www.zend.com/en/store/education/certification/yellow-pages.php#show-ClientCandidateID=ZEND019952>
>>>>>  | CSM <http://www.scrumalliance.org/profiles/171004-daniel-gomes> | OCP
>>>>> - MySQL 5 
>>>>> Developer<http://danielcsgomes.com/certifications/i-am-an-oracle-certified-professional-mysql-5-developer/>
>>>>>
>>>>>
>>>>> No dia 12 de Novembro de 2013 às 10:21, Hugo Ferreira <
>>>>> [email protected]> escreveu:
>>>>>
>>>>>> Olá Miguel,
>>>>>>
>>>>>> Antes de mais obrigado pela tua resposta.
>>>>>> A razão é precisamente essa, ou seja, não me interessa como é que
>>>>>> estão criadas as tabelas na BD (com nome foleiros, etc ...), o que me
>>>>>> interessa é o código correcto no client-side.
>>>>>>
>>>>>> Uma vez que é usado uma BD já existente (não foi desenhada por mim e
>>>>>> considero uma aberração da natureza) e um ORM em que o mesmo não permite 
>>>>>> a
>>>>>> flexibilidade que mencionas, vejo-me forçado a seguir um de 3 caminhos
>>>>>> (excepto se altera-se o código do ORM, o que não me apeteçe):
>>>>>> 1. Usar os nomes tal e qual como estão (just don't care).
>>>>>> 2. Usar views e estas esconderem os nomes horríveis, foleiros ou
>>>>>> mesmo estúpidos.
>>>>>> 3. Usar SPs.
>>>>>>
>>>>>> A opção 2 é a que mais me agrada mas a única dúvida é se não terá um
>>>>>> preço: performance. Se assim for, será descartada.
>>>>>>
>>>>>>
>>>>>> Cumprimentos,
>>>>>> Hugo.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> No dia 12 de Novembro de 2013 às 10:13, Miguel Vaz <
>>>>>> [email protected]> escreveu:
>>>>>>
>>>>>> Qual a razão de utilizares views? E que queres dizer com mapear? A
>>>>>>> "interface" não poderia dispensar as views? Ou seja, programaticamente
>>>>>>> poderias fazer e mostrar o que quiseres das tabelas, com os nomes que 
>>>>>>> bem
>>>>>>> te apetecer, mesmo que estas originalmente tenham campos mal feitos, 
>>>>>>> nomes
>>>>>>> estranhos, foleiros, mal dizentes e até ordinários. :-) Dá um pouco 
>>>>>>> mais de
>>>>>>> informação. :-)
>>>>>>>
>>>>>>>
>>>>>>> Cumprimentos,
>>>>>>> Miguel Vaz
>>>>>>>
>>>>>>>
>>>>>>> 2013/11/12 Hugo Ferreira <[email protected]>
>>>>>>>
>>>>>>>> Bom dia,
>>>>>>>>
>>>>>>>>
>>>>>>>> Hoje trago aqui uma dúvida que não tem nada haver com RIAs mas sim
>>>>>>>> com SQL e não encontrei a resposta que procurava no Google.
>>>>>>>>
>>>>>>>> Tendo uma base de dados com tabelas e campos definidos, sem poder
>>>>>>>> alterar os nomes dos mesmos e recorrendo a views simples para mapear 
>>>>>>>> essas
>>>>>>>> mesmas tabelas e campos, conseguimos criar uma "interface" para o 
>>>>>>>> exterior
>>>>>>>> com os nomes de tabelas de campos desejados.
>>>>>>>> Sendo uma view simples, naturalmente que as operações de CUD estão
>>>>>>>> disponíveis.
>>>>>>>>
>>>>>>>> A minha questão é: Usando views para mapear todas as tabelas da BD,
>>>>>>>> não vai ter impacto na performance ?
>>>>>>>>  Opcionalmente sei que posso recorrer a SPs mas para mim seria uma
>>>>>>>> opção de recurso.
>>>>>>>>
>>>>>>>> Mais tarde também poderei fazer um teste com 1 milhão de registos
>>>>>>>> no entanto gostaria de saber opiniões.
>>>>>>>>
>>>>>>>>
>>>>>>>> Cumps,
>>>>>>>> Hugo.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List
>>>>>>>> da Comunidade Portuguesa de Rich Internet Applications -
>>>>>>>> www.riapt.org" dos Grupos do Google.
>>>>>>>>
>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails
>>>>>>>> deste grupo, envie um email para [email protected]
>>>>>>>> .
>>>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>>>>>>> [email protected].
>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out
>>>>>>>> .
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>>>> dos Grupos do Google.
>>>>>>>
>>>>>>> Para anular a subscrição deste grupo e parar de receber emails deste
>>>>>>> grupo, envie um email para [email protected].
>>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>>>>>> [email protected].
>>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>>> dos Grupos do Google.
>>>>>>
>>>>>> Para anular a subscrição deste grupo e parar de receber emails deste
>>>>>> grupo, envie um email para [email protected].
>>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>>>>> [email protected].
>>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>
>>>>>  --
>>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>>> dos Grupos do Google.
>>>>>
>>>>> Para anular a subscrição deste grupo e parar de receber emails deste
>>>>> grupo, envie um email para [email protected].
>>>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>>>> [email protected].
>>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>  --
>>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>>> dos Grupos do Google.
>>>>
>>>> Para anular a subscrição deste grupo e parar de receber emails deste
>>>> grupo, envie um email para [email protected].
>>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Visite este grupo em http://groups.google.com/group/riapt.
>>>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>  --
>>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org"
>>> dos Grupos do Google.
>>>
>>> Para anular a subscrição deste grupo e parar de receber emails deste
>>> grupo, envie um email para [email protected].
>>> Para publicar uma mensagem neste grupo, envie um e-mail para
>>> [email protected].
>>> Visite este grupo em http://groups.google.com/group/riapt.
>>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
>> Grupos do Google.
>>
>> Para anular a subscrição deste grupo e parar de receber emails deste
>> grupo, envie um email para [email protected].
>> Para publicar uma mensagem neste grupo, envie um e-mail para
>> [email protected].
>> Visite este grupo em http://groups.google.com/group/riapt.
>> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>>
>
>  --
> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
> Grupos do Google.
>
> Para anular a subscrição deste grupo e parar de receber emails deste
> grupo, envie um email para [email protected].
> Para publicar uma mensagem neste grupo, envie um e-mail para
> [email protected].
> Visite este grupo em http://groups.google.com/group/riapt.
> Para mais opções, consulte https://groups.google.com/groups/opt_out.
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para anular a subscrição deste grupo e parar de receber emails deste grupo, 
envie um email para [email protected].
Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Visite este grupo em http://groups.google.com/group/riapt.
Para mais opções, consulte https://groups.google.com/groups/opt_out.

Responder a