Organizando classes em packages

De uma forma geral, como vocês organizam suas classes em packages? Quais critérios são utilizados para colocar classes num mesmo package ou em packages diferentes? Packages devem refletir de alguma forma as camadas lógicas (layers) de uma aplicação?

existem padroes, voce pode seperar as classes de logica, das de modelos das DAOs e as telas.

Opa Regis, você sabe onde posso ler mais sobre esses padrões?

Existe um livro chamado design pattern

Na verdade separar pacotes por camada não é uma boa idéia, pois você terá meia duzia de pacotes com infinadades de classes.

Eu gosto de organizar os pacotes pensando o seguinte: “Quando for alterar a funcionalidade X quero que esteja tudo próximo, pra eu saber quais classes podem precisar ser alteradas.”

Da uma olhada aqui http://www.javapractices.com/topic/TopicAction.do?Id=205

[]s

vlw Ferryman, exatamente oq eu estava procurando