Mudar Referência para Valor.
Você tem um objeto de referência pequeno demais e alterado com pouca frequência para justificar o gerenciamento de seu ciclo de vida.
Transforme-o em um objeto de valor.
##Example
##Why Refactor
A inspiração para trocar uma referência por um valor pode vir do incômodo de trabalhar com a referência. Referências exigem gerenciamento da sua parte:
-
Elas sempre exigem solicitar o objeto necessário ao armazenamento.
-
Referências em memória podem ser inconvenientes de manipular.
-
Trabalhar com referências é particularmente difícil, em comparação com valores, em sistemas distribuídos e paralelos.
Valores são especialmente úteis se você prefere ter objetos imutáveis em vez de objetos cujo estado pode mudar ao longo de sua vida útil.
##Benefits
-
Uma propriedade importante dos objetos é que eles devem ser imutáveis. O mesmo resultado deve ser obtido a cada consulta que retorna o valor de um objeto. Se isso for verdade, não surgem problemas quando há muitos objetos representando a mesma coisa.
-
Valores são muito mais fáceis de implementar.
##How to Refactor
-
Torne o objeto imutável. O objeto não deve ter setters nem outros métodos que alterem seu estado e seus dados (Remover Método de Atribuição pode ajudar aqui). O único lugar onde dados devem ser atribuídos aos campos de um objeto de valor é um construtor.
-
Crie um método de comparação para poder comparar dois valores.
-
Verifique se você pode excluir o método de fábrica e tornar público o construtor do objeto.