Pode ser difícil ler uma invocação de método ou de construtor quando temos muitos parâmetros. Isso piora se tivermos parâmetros do mesmo tipo. Um exemplo em Ruby:
Titular.new("Hugo Roque", "Josemar Nunes", "Antonio")
O que esse construtor recebe como parâmetros? O que esses nomes representam? Lendo simplesmente dessa forma, só podemos chutar. Há muitas formas de atenuar esse problema. Uma das soluções seria utilizar tinytypes, criando classes, como Dependente, que possuem um ou pouquíssimos atributos, servindo mais como uma forma de tipificar e explicitar com o que trabalhamos, evitando a "programação orientada a strings". Em Java é comum utilizarmos o design pattern Builder, evitando construtores gigantes e complexos. Dessa forma o código acima seria algo como: