Métodos Comuns de Todos os Objetos – Item 11

Decida se vale a pena substituir o clone

Se você decidir substituir o clone, lembre-se que são necessárias duas coisas:

  1. Manter a cadeia recursiva das chamadas, invocando o super.clone().
  2. Substituir as referências de objetos agregados por cópias dos mesmos, uma vez que o super.clone não criara as cópias para os agregados.

Devemos lembrar também que existem exceções a essa regra, uma vez que os objetos agregadores podem ser objetos de valores, sem necessidade de gerar a cópia, podendo ser mantida a mesma referência. Esses problemas que envolvem essa situação podem se tornar complexo, caso a estrutura dos objetos gerenciados seje grande. Diante disso, a melhor prática é deixar o clone de lado e optar por uma das abordagens abaixo:

  • Copy Construtor – define um construtor que recebe um objeto dele mesmo fazendo as devidas copias.
  • Copy Factory – define um método que copie todas as propriedades de um objeto para outro.
  • Copy Factory Reflection – define um método que copie todas as propriedades de um objeto para outro genericamente via reflection.

Para todas as informações, veja o post inicial.

“Só tu és o Senhor. Fizeste os céus, e os mais altos céus, e tudo o que neles há, a terra e tudo o que nela existe, os mares e tudo o que neles existe. Tu deste vida a todos os seres, e os
exércitos dos céus te adoram”. Neemias 9:6

About these ads

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s