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.
