15 de agosto de 2012, por Denis Ferrari em Dev Insights

Todo projeto de software possui necessidades comuns, que resolvemos aplicando alguma tecnologia, tais como: ORMs, Containers de IoC, Frameworks web, etc. Para cada problema comum, existe um leque de tecnologias com abordagens diferentes de resolução, o que nos leva à seguinte questão: Como decidir entre uma tecnologia ou outra?

Muitas pessoas sentem dificuldade na hora de decidir, dentre todas as tecnologias atuais, qual é a mais indicada para resolver o seu problema. O que é normal, afinal, algumas tecnologias são tão parecidas que só pesquisando a fundo é possível compreender suas distinções.

O problema é que nem sempre há tempo para pesquisar profundamente uma tecnologia e levantar toda a informação necessária para tomar uma decisão, então, costumo usar um processo de eliminação simples: Avaliação de limitações e alinhamento de conceitos. Read the rest of this entry »


07 de dezembro de 2011, por Denis Ferrari em Herocast

Fala Pessoal! Tudo bom? Nesse episódio do Herocast vamos conversar sobre as diferenças entre Domain Model e View Model e aprender a utilizar o AutoMapper para mapeamento automatico de objetos.

Read the rest of this entry »


07 de junho de 2011, por Denis Ferrari em Gerais

DNAD 2011

Aconteceu nesse último final de semana um dos eventos mais importantes do ano, o DNAD 2011. Esse evento conseguiu reunir no centro de São Paulo, participantes do Grupo .Net Architects de vários estados, possibilitando troca de conhecimento e muito networking dessa galera que só se conhecia por e-mail ou pelo Twitter.

Primeiramente, gostaria de agradecer todos os feedbacks positivos com relação ao conteúdo que tenho publicado nesse blog. Saber que o que disponibilizo aqui ajuda tanta gente é uma ótima motivação para continuar o trabalho. Também fiquei muito feliz pela receptividade da minha Lightning Talk sobre Scrum e das discussões no Open Space.

Read the rest of this entry »


03 de junho de 2011, por Denis Ferrari em Herocast

Fala Galera! Finalmente consegui liberar um episódio do HeroCast sobre injeção de dependência. Aproveitei o projeto iniciado no episódio passado para explicar qual a função desse pattern utilizando o Ninject como container.

Quem me segue no Twitter sabe que iniciei uma outra série chamada HeroTalk, onde o objetivo é simples: Falar abertamente sobre assuntos correlatos à desenvolvimento. Depois desse episódio, confiram também o HeroTalk e dêem seus feedbacks.

Read the rest of this entry »


01 de outubro de 2010, por Denis Ferrari em Gerais

Após a palestra na qual apresentei o conceito de persistência plugável, recebi alguns pedidos para construir uma demonstração da substituição do Entity Framework 4 pelo NHibernate. É importante ressaltar que esse procedimento é possível graças à junção de várias técnicas já conhecidas, ou seja, não estamos criando nada, apenas montando uma nova receita com ingredientes já conhecidos.

Outro ponto que gostaria de ressaltar é que os conceitos aqui apresentados podem (e devem) ser aplicados em vários aspectos de um projeto, não só na camada de persistência, mas em qualquer camada que dependa de uma certa tecnologia e que precise passar a trabalhar de forma independente para que o software seja preservado..

Read the rest of this entry »


28 de setembro de 2010, por Denis Ferrari em Gerais

Não somos capazes de prever o futuro, mas analisando os erros cometidos no passado, podemos determinar os efeitos colaterais que uma decisão tomada no início de um projeto terá no longo prazo.

Quando iniciamos um projeto de software, vários aspectos precisam ser resolvidos: As tecnologias envolvidas, o processo que será utilizado, como o projeto será organizado, etc. Uma decisão errada em qualquer um desses aspectos pode causar danos irreversíveis no projeto e reduzir sua vida útil consideravelmente. Muitas vezes, decisões “simples” de design/arquitetura voltam para nos assombrar quando o sistema precisa ser adaptado para uma nova situação que não havia sido pensada originalmente (Já viram essa história?).

Read the rest of this entry »


09 de setembro de 2010, por Denis Ferrari em Gerais

Olá Pessoal! Esse post representa minha opinião sobre uma coisa que acredito ser um dos principais problemas do nosso mercado: A dependência de tecnologias. Não quero definir a forma certa ou errada de desenvolver software (e nem poderia), mas através da apresentação de algumas idéias, espero causar algumas reflexões sobre esse tema.

Há pouco tempo participei do MSDev-ES Arena : EF4 X NHibernate. O evento consistia em apresentar os dois ORMs, e minha missão era apresentar o Entity Framework 4. O evento foi ótimo. Só recebemos feedbacks positivos. A questão é que quem vai a um evento chamado Arena espera ver os dois palestrantes se digladiando, o que não aconteceu. Definir qual ORM (ou qualquer tecnologia) é melhor é uma das piores coisas que um desenvolvedor pode fazer. Sabe por quê? Por que depende de várias coisas, inclusive a pessoa que está respondendo essa pergunta infeliz. Não quero que ninguém diga: “O @denisferrari disse que o ORM X era o melhor e ele não funcionou no meu projeto!”. Não ganho nada da Microsoft ou do Ayende para defender um ORM ou outro. O que posso fazer é apresentar as características de cada um e analisar caso a caso qual tecnologia irá ajudar mais o Projeto em questão, independente da minha opinião particular ou da visão do mercado de qual é a melhor tecnologia de todas.

Read the rest of this entry »


29 de agosto de 2010, por Denis Ferrari em Palestras

Oi Pessoal! Nesse sábado rolou o primeiro Arena do grupo MSDev-ES na Faculdade Faesa. O evento tinha como objetivo apresentar as características dos dois ORMs que estão mais “em alta” no mercado: O NHibernate e o Entity Framework. Apesar do nome Arena, não tínhamos como objetivo definir qual das duas ferramentas era a melhor, e sim apresentar suas características e particularidades a fim de tirar as principais dúvidas dos desenvolvedores locais sobre suas utilizações.

Read the rest of this entry »