No mês passado participei do TDC 2012 Floripa, fiquei impressionado com a quantidade de assuntos debatidos e apresentados sobre TI, eram 21 trilhas diferentes dividida em 3 dias de apresentação foi com certeza um evento grandioso e bastante valioso. Eu tive a honra de apresentar uma palestra na trilha de arquitetura. O titulo da minha palestra era Como Salvar o Coração do Sistema, abaixo está um resumo.
Resumo:
Quando nosso coração esta muito
grande, ou com seus vasos entupidos por gorduras acumuladas durante anos, é bem
provável que teremos problemas na nossa velhice. Pois no software isso também
pode acontecer, só que o coração do nosso software é o nosso domínio, onde esta
toda nossa regra de negocio, e muitas vezes ao longo do tempo não cuidamos bem
dele. O objetivo dessa palestra é mostrar técnicas que podem nos ajudar a
salvar nosso coração, como os padrões GRASP que nos ajudaram a organizar e
limpar nosso domínio e sempre utilizando o TDD para garantir a qualidade do
nosso código.
Descrição:
O coração é o órgão mais importante do
corpo humano e ao longo dos anos não cuidamos muito bem dele, comendo gorduras
em excesso causando assim no futuro problemas de artérias entupidas, ou comendo
sal em excesso acarretando assim em uma pressão sanguínea alta, esses e outros
problemas provavelmente se não forem tratados levaram a um enfarto e até a
morte da pessoa, no software isso não é diferente, muitas vezes a regra de negócio
encontra-se espalhada por diversos lugares na nossa aplicação (Controller,
Dominio, Banco, DAOs,Visão, ...), encontra-se confusa e complexa de forma que não
temos coragem de refatorar.
Erick Evans, no livro Domain-Driven Design: Tackling
Complexity in the Heart of Software, diz que “Quando um software traz consigo um comportamento
complexo e é desprovido de um bom design, torna-se difícil refatorar ou
combinar elementos. Começam a aparecer duplicações a partir do momento em que o
desenvolvedor não mostra confiança em prever todas as implicações de uma
mudança”.
Os padrões GRASP não são tão
difundidos como os do GoF, porem são tão importantes quanto, são conceitos que
nos auxiliam muita na montagem de um modelo de domínio robusto e flexível e
sempre baseados na responsabilidade, Martin Fowler, no prefacio livro Domain-Driven Design: Tackling Complexity in the Heart of
Software, diz que "Entender responsabilidades é essencial para
o bom projeto orientado a objetos".
Vamos apresentar como os padrões GRASP
podem nos auxiliar a limpar as artérias do nosso sistema mantendo assim o nosso
coração sempre saudável e limpo, evitando a debito técnico (o infarto), pois em
algum momento ele sempre é cobrado.
Utilizaremos exemplos reais de
problemas que tivemos e como resolvemos, utilizando o TDD e os padrões GRASP, mostraremos
como a utilização dessas duas técnicas pode salvar o nosso software de um
enfarte.
Nenhum comentário:
Postar um comentário