Olá, José. Tudo bom?
Existem vários problemas em usar classes estáticas, por exemplo:
- Não há como guardar estado;
- Não existe herança ou implementação de interfaces;
- Você fica preso ao tipo da sua classe estática.
Será que no futuro a ManipuladoraArquivos
não precisará guardar estado sobre o arquivo? Ou talvez no futuro você note que os membros desta classe podem ser abstraídos em uma interface?
Eu costumo limitar o uso de classes estáticas em somente duas situações: métodos de extensão (inclusive, aqui vc é obrigado a usar classes estáticas) e para métodos puros onde tenho certeza que não precisarei de estado - tipo cálculos, verificações simples, etc.
Contudo, se você já sabe que não precisará de estado/herança/etc e tem um escopo bem limitado, não há problema algum em usar classes estáticas.
O que você acha?