teste-e-qualidade-de-software
teste-e-qualidade-de-software copied to clipboard
Refatorar Usando Null Objet Pattern (Active Nothing)
Null Object Pattern
Melhore a qualidade do código da classe Fornecedor livrando-se das condicionais.
Introdução
Nesse sistema, o contato na classe Fornecedor é opcional. Por isso, em algumas situações um fornecedor é registrado apenas com o local. Diante dessa situação, precisamos estar sempre verificando se existe um contato antes de chamar seus métodos.
Obs.: Você pode usar o Null Object Pattern, também conhecido como Active Nothing, para resolver esse tipo de situação.
Exemplo Considere que você tenha os seguintes objetos:
- local = Local(nome: 'Rua de Qualquer Lugar')
- contato = Contato(nome: 'Fulano', telefone: '99998888', email: '[email protected]')
- fornecedor = Fornecedor(local: local, contato: contato)
Método | Retorno |
---|---|
fornecedor.nome_do_contato | 'Fulano' |
fornecedor.telefone_do_contato | '99998888' |
fornecedor.email_do_contato | '[email protected]' |
Exemplo Considere que você tenha criado um fornecedor sem contato agora:
- fornecedor = Fornecedor(local: local)
Método | Retorno |
---|---|
fornecedor.nome_do_contato | 'Nenhum Nome' |
fornecedor.telefone_do_contato | 'Nenhum Telefone' |
fornecedor.email_do_contato | 'Nenhum Email' |