Após ponderação, vou evoluir este backend "genérico" para permitir o
mapeamento para outra tabela/campos (vou aproveitar a deixa para permitir
out-of-the-box que os dados sejam provenientes de múltiplas tabelas e BDs,
ficando preparando uma futura situação).

Cumps,
Hugo.


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

> para EF tens N ferramentas que te fazem SQL -> EF ...  e há outros ainda!
>
> eu uso , assim qd a BD muda .. só tenho de ir aos meus objectos de negócio
> tratar, e como tudo é strongly type apanho em compilação coisas como
> mudanças de tabelas (nomes, campo) SP, Views...
>
> Além disso como trabalho muito contra interfaces nos meus objectos de
> negócio trata-se de trocar o dal por um que implemente a interface...
> Asssim passou de App SQL->Oracle->SQLite  ....
>
> São formas de fazer é claro... pois não há silver bullets
>
>
>
>
>
>
> Best regards
> Cristóvão Morgado
> pt.linkedin.com/in/cmmorgado/
> github.com/cmorgado
>
>    -
>
>
>
>
> 2013/11/12 Hugo Ferreira <[email protected]>
>
>> 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.
>>
>
>  --
> 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