Organizando pacotes

Olá,

Geralmente vcs dividem as classes em pacotes por funcionalidades ou por entidades?! Eu geralmente crio pacotes baseado na entidade, por exemplo, se tenho a entidade Pessoa, vou ter um pacote assim:

br.com.guj.pessoa
|___ Pessoa.java
|___ PessoaDao.java
|___ PessoaDaoImpl.java
|___ PessoaBusiness.java
|___ PessoaOQueMaisFor.java

Só que olhando os codigos do guj, está tudo dividido por funcionlidades: pacote para dao, interceptors, etc. O que é mais comum?!

Até.

O povo costuma definir pacote como um agregador de classes de um mesmo domínio. Então é mais comum você ver pacotes definidos segundo a finalidade das classes.