Arquivo pela Tag: design

Código expressivo e programação funcional em Java com LambdaJ

Postado em 13. fev, 2012 por and .

9

Há um certo tempo refatoramos o sistema que trabalhamos. Migramos de uma arquitetura definida pelo Fowler como Transaction Script (explicada nesse edição da MundoJ) para uma arquitetura essencialmente O.O Domain Model. Por incrível que pareça, o que mais nos chamou a atenção nesse processo não foi o fato de transferir a lógica de negócios para more »

Continue Lendo

Lançamento do livro Introdução à Arquitetura e Design de Software

Postado em 15. dez, 2011 por .

44

Depois de uma longa espera, temos o tão aguardado lançamento. O livro está sendo distribuído para as livrarias, e já é bem fácil encontrá-lo nas lojas online, como na Saraiva. Foi bastante tempo e trabalho para criar uma introdução abrangente, e ao mesmo tempo com uma necessária profundidade, de alguns dos principais tópicos da plataforma more »

Continue Lendo

mapeamento de banco de dados a orientacao a objetos

Adequar o banco às entidades ou o contrário?

Postado em 09. ago, 2011 por .

20

Uma das features interessantes do Hibernate é gerar a Data Definition Language para criação da estrutura de tabelas do banco de dados (schema). Tudo que precisamos fazer é pensar em nosso modelo Orientado a Objeto que o banco é gerado automaticamente a partir das entidades. Aparentemente o processo de pensar na modelagem do banco de more »

Continue Lendo

http://www.flickr.com/photos/fxtreme/235948470/

Scala: os cuidados com encapsulamento

Postado em 26. jul, 2011 por .

5

Um dos pontos difíceis de lidar em qualquer sistema está ligado com quebra de encapsulamento. Em Java, uma vez que o padrão de uma variável membro permite que ela seja acessada por fora do objeto, protegemos os dados através do modificador private e um getter: Enquanto a criação de getters é um padrão amplamente adotado, more »

Continue Lendo

TDD e sua influência no acoplamento e coesão

Postado em 17. fev, 2011 por and .

21

Escrever testes de unidade é uma prática cada vez mais adotada. Ela ajuda a verificar se tudo funciona como o esperado mesmo após mudanças, trazendo mais segurança para a equipe ao alterar o código. Mas os testes de unidade vão além, possibilitando a validação de um design. Um código fácil de testar tende a apresentar um bom design. more »

Continue Lendo

Perdendo ou ganhando tempo com testes de unidade

Postado em 10. dez, 2010 por .

17

Durante as aulas e palestras sobre TDD e testes de software é bem comum ouvir perguntas relativas a “o que deve ser testado e o que não precisa ser testado”. Geralmente os exemplos inicials que encontramos na literatura sobre TDD são muito simplistas, nos levando a crer que devemos testar todo e qualquer método de more »

Continue Lendo

Em busca do nome adequado: métodos, variáveis e classes

Postado em 08. out, 2010 por .

15

É muito comum após alguns dias de trabalho em um projeto perceber que as escolhas de nomes de classes e métodos não condizem com o que cada um representa. Isso acontece pois, com o passar do tempo, aumenta o nosso conhecimento sobre o domínio do problema. Também é natural surgir o desejo de mudança: a more »

Continue Lendo

Possibilidades de design no uso do seu Generic DAO

Postado em 26. jul, 2010 por .

19

Muitas vezes, quando estamos criando nosso sistema temos a tentação de criar o GenericDAO para não ter que ficar repetindo as operações CRUD e listagens. O maior problema com o GenericDAO é que não necessariamente todas as operações fazem sentido para uma determinada classe. Daí o que fazer se, por exemplo, não faz sentido excluir more »

Continue Lendo

Então você quer ser um arquiteto Java?

Postado em 21. jul, 2010 por .

35

Durante o atual processo de revisão do livro de Arquitetura e Design de Software, discussões apareceram sobre o termo arquiteto. Antes de definir o que faz um arquiteto, há o termo arquitetura. O que é a arquitetura de uma aplicação? Uma pergunta difícil de responder. Entre as definições mais antigas, Roy Fielding possui um bom more »

Continue Lendo

HTML, CSS, Javascript e UX na nova formação da Caelum

Postado em 29. jan, 2010 por .

4

A nova formação da Caelum tem o objetivo de aprofundar os conhecimentos numa área em constante crescimento. A formação tem a parceria da Locaweb e é composta dos cursos WD-41 | Design de Interação, Experiência do Usuário e Usabilidade e WD-43 | Desenvolvimento Web com HTML, CSS e JavaScript. User Experience Ao navegar na web, more »

Continue Lendo

Livro Arquitetura e Design de Software: mais 4 tópicos liberados!

Livro Arquitetura e Design de Software: mais 4 tópicos liberados!

Postado em 04. nov, 2009 por .

13

Atenção! O livro já está a venda. Saiba mais no site oficial. Há três meses anunciamos o livro Arquitetura e Design Java, um livro que está em seu processo de finalização, fortemente baseado na experiência da Caelum com debates no curso de Arquitetura e Design, a adminstração do GUJ.com.br e esses anos de consultoria. Os more »

Continue Lendo

Pequenos objetos imutáveis e Tiny Types

Postado em 20. jul, 2009 por .

15

Uma das grandes preocupações que temos quando estamos desenvolvendo aqui na Caelum e nas nossas consultorias é como manter o código o mais expressivo possível. Expressividade está muito ligada a uma manutenabilidade maior do código, porque código mais fácil de entender costuma ter menos bugs. Uma das técnicas que usamos pra atingir esse objetivo são more »

Continue Lendo

DSLs não são para gerentes

Postado em 30. dez, 2008 por .

14

Já vi e ouvi de muitas pessoas e em muitos lugares que Domain Specific Languages são uma ótima ferramenta para deixar o código tão simples de escrever, tão legível e tão parecido com uma linguagem natural (português, inglês), que serve para que não programadores possam escrever parte do código. A idéia é que o próprio more »

Continue Lendo