De acordo com a regra número 4 de Object Calisthenics, de Jeff Bay (RTF) na The ThoughtWorks Anthology, recomenda-se que "se use coleções de primeira classe ".
Regra 4: Coleções de primeira classe
A aplicação desta regra é simples: qualquer classe que contenha uma coleção não deve conter outras variáveis de membro. Cada coleção é agrupada em sua própria classe, então agora os comportamentos relacionados à coleção têm uma casa. Você pode achar que os filtros se tornam parte dessa nova classe. Além disso, sua nova turma pode lidar com atividades como juntar dois grupos ou aplicar uma regra a cada elemento do grupo.
O que eu pude entender disso foi que devemos usar uma classe separada para encerrar a coleção e com métodos para adicionar e excluir dados de modificação dessa coleção.
e Precisamos disso para ter certeza de que tipo de dados entra na coleção e o que sai.
Caso usemos coleção genérica (nos idiomas em que é aplicável), precisamos seguir esta regra?
Se estiver faltando um significado importante, esclareça.