Códigos não tão bons:

public void notificar(Pessoa pessoa) {
    enviarEmailDeNotificacao(
          pessoa.getTratamento(),
          pessoa.getNome(),
          pessoa.getEmail());
}

public class Empregados {

    public String buscarTelefone(
          String idEmpregado) {
        Empregado empregado = (...)
        return empregado.getTelefone();
    }

}

No primeiro exemplo, é doloroso decompor um objeto apenas para passar o seu estado para um método. No segundo exemplo, o uso do método fica bastante limitado. Se for possível, passe ou retorne o objeto em si.

Códigos melhores:

public void notificar(Pessoa pessoa) {
    enviarEmailDeNotificacao(pessoa);
}

public class Empregados {

    public Empregado buscar(
          String idEmpregado) {
        Empregado empregado = (...)
        return empregado;
    }

}