No mes 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 apresentacao 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 Coracao do Sistema, abaixo esta um resumo.Resumo:Quando nosso coracao esta muitogrande, ou com seus vasos entupidos por gorduras acumuladas durante anos, e bemprovavel que teremos problemas na nossa velhice. Pois no software isso tambempode acontecer, so que o coracao do nosso software e o nosso dominio, onde estatoda nossa regra de negocio, e muitas vezes ao longo do tempo nao cuidamos bemdele. O objetivo dessa palestra e mostrar tecnicas que podem nos ajudar asalvar nosso coracao, como os padroes GRASP que nos ajudaram a organizar elimpar nosso dominio e sempre utilizando o TDD para garantir a qualidade donosso codigo. Descricao:O coracao e o orgao mais importante docorpo humano e ao longo dos anos nao cuidamos muito bem dele, comendo gordurasem excesso causando assim no futuro problemas de arterias entupidas, ou comendosal em excesso acarretando assim em uma pressao sanguinea alta, esses e outrosproblemas provavelmente se nao forem tratados levaram a um enfarto e ate amorte da pessoa, no software isso nao e diferente, muitas vezes a regra de negocioencontra-se espalhada por diversos lugares na nossa aplicacao (Controller,Dominio, Banco, DAOs,Visao, ...), encontra-se confusa e complexa de forma que naotemos coragem de refatorar. Erick Evans, no livro Domain-Driven Design: TacklingComplexity in the Heart of Software, diz que Quando um software traz consigo um comportamentocomplexo e e desprovido de um bom design, torna-se dificil refatorar oucombinar elementos. Comecam a aparecer duplicacoes a partir do momento em que odesenvolvedor nao mostra confianca em prever todas as implicacoes de umamudanca.Os padroes GRASP nao sao taodifundidos como os do GoF, porem sao tao importantes quanto, sao conceitos quenos auxiliam muita na montagem de um modelo de dominio robusto e flexivel esempre baseados na responsabilidade, Martin Fowler, no prefacio livro Domain-Driven Design: Tackling Complexity in the Heart ofSoftware, diz que "Entender responsabilidades e essencial parao bom projeto orientado a objetos". Vamos apresentar como os padroes GRASPpodem nos auxiliar a limpar as arterias do nosso sistema mantendo assim o nossocoracao sempre saudavel e limpo, evitando a debito tecnico (o infarto), pois emalgum momento ele sempre e cobrado.Utilizaremos exemplos reais deproblemas que tivemos e como resolvemos, utilizando o TDD e os padroes GRASP, mostraremoscomo a utilizacao dessas duas tecnicas pode salvar o nosso software de umenfarte. Apresentacao tdc 2012 from jorgeoleques Repositorio com os fontes clique aqui. Nos ultimos tempos tenho ouvido falar muito sobre a categorizacao dos desenvolvedores ( senior, junior, pleno....), por isso resolvi postar as minhas duvidas e com base em alguns conceitos que aprendi ao longo do tempo que trabalho desenvolvimento de sistemas quero tentar questionar essa categorizacao imposta pelo mercado, mas uma coisa quero que fique claro, nao tenho a intencao de mudar o mundo apenas questiona-lo(risos).Entendo muito bem porque foi criado essa categorizacao para desenvolvedores,