Ao criar uma variável para armazenar um CPF em seu código, provavelmente você pensaria em usar ‘string’, certo? Afinal, a string é um tipo primitivo disponível em todas as linguagens de programação. Mas será que essa é realmente a melhor escolha para representar algo tão específico como um CPF?
Aqui está o dilema: a string, apesar de ser primitiva, é também genérica. Ela é útil e abrangente, mas não foi criada com o propósito de representar um CPF. Isso te leva a um cenário onde você pode sentir a necessidade de criar métodos auxiliares para, digamos, validar esse CPF.
Uma alternativa que pode soar mais apropriada seria criar um tipo especializado para tratar informações de CPF. Esse tipo poderia concentrar todos os métodos de validação e funcionalidades específicas. No entanto, isso também pode te fazer refletir sobre outros aspectos, como a eficiência no uso da memória.
Concluir que você deve evitar a fixação por tipos primitivos é fácil. O desafio é equilibrar essa escolha com a necessidade de eficiência e praticidade, sem comprometer a qualidade do seu código.
No meu grupo intensivo de DDD do jeito certo, tem diversos outros debates e insights igual a este e você está convidado a participar. Não perca mais tempo, junte-se a nós.
