quarta-feira, 18 de fevereiro de 2015
Frameworks ORM são um anti-pattern ofensivo
Em mais uma noite de estudos me deparei com o seguinte assunto "ORM Is an Offensive Anti-Pattern" no Blog http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html e decidi comentar um pouco sobre o assunto e citar o post do blog, trata-se de um assunto que a muito me chamava a atenção, visto que hoje muitas vezes programamos para o mecanismo de armazenamento de dados e não para os "Objetos" do sistema.
Ou seja criamos centenas de SETTER e GETTER (ou usamos ferramentas que fazem isso) criamos entidades que não auxiliam em nada nas regras que o sistema precisa garantir. Criamos classes baseadas nas tabelas de um banco de dados, e abrimos mãos de recursos poderosos que as linguagens e a Orientação a Objetos nos fornece.
Veja mais exemplos de como fazemos o "mais fácil" ao invés de nos esforçarmos em fazer o que é "melhor" (http://blog.caelum.com.br/o-que-e-modelo-anemico-e-por-que-fugir-dele/), criamos modelos baseados em camadas que na verdade correspodem as características procedurais é considerado um anti-pattern (http://www.martinfowler.com/bliki/AnemicDomainModel.html).
Estou neste momento compartilhando e comentando um pouco mais sobre este, desafio a nós apresentado, com a finalidade de promover uma reflexão em busca do aumento no nível da codificação de tudo o que produzimos buscando cada vez mais deixarmos as convenções atuais, e buscar um nível em que possamos diferenciar os verdadeiros programadores de construtures de aplicação.
Neste sentido indico um livro muito bom existente no mercado a algum tempo já Java Efetivo - Segunda edição (http://www.saraiva.com.br/java-efetivo-2-ed-2624886.html), que dá uma série de orientações na busca de um design de aplicações Java com mair efetividade no código.
No mesmo link do post citado (http://www.yegor256.com/2014/12/01/orm-offensive-anti-pattern.html) vemos uma proposta para a solução deste problema, de programarmos para um framework ou arquitetura ao invés de nos dedicarmos a codificar a solução que é esperada do sistema.
Marcadores:
Anemic Model,
Anti-pattern,
Framework,
Hibernate,
java,
Modelo Anemico,
ORM
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário