OCP – OPEN CLOSED PRINCIPLE “Entidades, classes, módulos e funções deveriam ser abertos para extensão e fechados para modificação” O ciclo de vida de um software faz com que ele seja suscetível a mudanças. Um software bem arquitetado te possibilita fazer essas mudanças alterando o mínimo de código possível, ao invés de reescrever o comportamento […]
Há tempos venho trabalhando com projetos que possuem uma arquitetura que combina ChaplinJs + Backbone.Js. Por terem essa arquitetura já desenvolvida, sempre segui os padrões já estabelecidos. Cansado de utilizar o JQuery Validator para validação de formulário nesses projetos, fui atrás de um substituto que não me desse dor de cabeça. E eis que encontrei […]
SRP – SINGLE RESPONSIBILITY PRINCIPLE “Uma classe deveria ter apenas uma razão para ser modificada.” A expressão “responsabilidade” nos remete a responsável – que, por sua vez, nos remete a algo ou alguém. Dentro do SRP, coisas que se modificam pelo mesmo motivo deveriam ficar juntas, assim como, coisas que se modificam por motivos diferentes […]
Há tempos venho debatendo aqui na redspark com o Guilherme Vargas, o fato dos desenvolvedores terem acostumado muito com as tecnologias e, consequentemente, acabam deixando de lado o verdadeiro conceito de Orientação a Objeto. Deixamos de pensar em primeiro lugar nas boas práticas e nos antigos princípios e voltamos a programar estruturalmente ou orientado ao framework. Nossos domains como […]
Recentemente precisei criar um relatório específico para um projeto no qual há uma grande quantidade de filtros possíveis. Ao analisar esse cenário, eu e a equipe decidimos utilizar o Criteria do Hibernate por causa da facilidade de manipular dinamicamente os filtros. E, no meio da implementação, encontramos um problema no resultado da busca. Vamos ao […]
Muitas pessoas utilizam em suas entidades a anotação @Audited mas nunca precisaram de fato utilizar o Hibernate ORM Envers e recuperar os dados das tabelas de auditoria. Na maioria dos casos, costumam utilizar o Envers só para deixar o registro no banco para futuras necessidades. Eu também nunca havia precisado usar mas recentemente precisei e foi […]