Serialização – Item 76

Postado em

batterdispenserCrie métodos readObject defensivamente

Sempre que você criar um método readObject, assuma a atitude de quem está criando um construtor público que tem que fornecer uma instância válida, independente do fluxo de dados a receber. Não assuma que o fluxo de bytes representa uma instância serializada real, uma vez que o ele pode ser maliciosamente manipulado. Portanto, mantenha a mesma política de um construtor validando os argumentos (Item 38), usando copias defensivas de parâmetros onde apropriados (Item 39) e não invocando métodos abertos para polimorfismo. Isso impedira qualquer violação de invariância.

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

“..sintam-se felizes quando passarem por todo tipo de aflições. Pois vocês sabem que, quando a sua fé vence essas provações, ela produz perseverança.” Tiago 1:2-3

Anúncios