Veja https://pt.stackoverflow.com/q/120931/101.
Quem foge do DRY, real, terá a bunda modida em algum momento.
Complexidade também. Para admitir uma complexidade tem que proivar que ela se paga. O DRY (correto) mata complexidade por definição.
Ajudei? Era o meu desejo.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).