Nos lugares que trabalhei, raramente vi em codigos interfaces, delegates e abstracts.
Acredito pq eles nao se preocupavam com reusabilidade ou nao era um software ou componente de um framework para ser usado por outros desenvolvedores.
Seriam interfaces, delegates e abstracts mais voltadas para esse tipo de desenvolvimento ?