Serialização – Item 74

serializacao-rastreabilidade-medicamento-rdc-54-2013Implemente Serializable Criteriosamente

A definição de uma classe serializável constitui um compromisso sério que deve ser adotado com cuidado. Uma vez feito, o autor da classe está assumindo o compromisso de evoluir as novas futuras versões, garantindo compatibilidade de serialização retroativa. Uma classe serializável apresenta as seguintes desvantagens:

  1. Diminui a flexibilidade de evolução, uma vez que o autor é responsável por dar suporte para serialização retroativa. Em alguns casos pode até impedir novas implementações por falta de compatibilidade.
  2. Altas cargas de testes no lançamento de uma nova versão da classe para garantir suporte para serialização retroativa.
  3. Aumenta a probabilidade de invariância, uma vez que é fácil esquecer-se de assegurar o estado consistente na reconstrução do objeto serializado.

Portanto, a facilidade de usar serializable é ilusória e não é uma decisão a ser tomada superficialmente.

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

“Portanto, vistam-se de misericórdia, de bondade, de humildade, de delicadeza e de paciência.” Colossenses 3:12