Java Efetivo Essencial - Imutabilidade

3235 단어 programmingjava

최소한의 클래스로 변경 가능



Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.

불변성

Uma classe que não permite que suas instâncias sejam modificadas é Considerada uma classe imutável. 당신은 정보를 계속해서 받을 수 있습니다.
Existe uma facilidade em projetar, implementar e utilizar classes IMUTÁVEIS, além de promover uma maior segurança e evitar muitos erros decorrente da alterações de objetos durante seu ciclo de vida.

Receita para classe Imutável

1 - Não forneça métodos que modifiquem o estado do objeto(mais conhecido como setters);
2 - Garanta que a classe não possa ser extendida(quando tornamos a classe final);
3 - Faça com que os campos/atributos sejam finais e privados;
4 - Não deixe que campos/atributos mutáveis ​​sejam acessados ​​por suas referenceências;

실용





코모 리졸버
No caso anterior podemos realizar cópias defensivas, para gerarmos uma nova referência e não expor a referência que esta no objeto.

public Servico getServico() {
        Servico servicoRetorno = new Servico();
        return BeanUtils
           .copyProperties(servicoRetorno, servico);
}


마이스 소브레

개체는 스레드로부터 안전하게 보호되며, 오류가 발생하지 않으며, 동시에 병렬 스레드가 발생하지 않도록 할 수 있습니다.
É interessante também que essas classes podem implementar o método static factory e reutilizar instâncias existentes da mesma classe.

밴타젠스

Os objetos imutáveis ​​são ótimos para construir novos objetos. Pois garantimos que esse objeto não mudará.
Os objetos imutáveis ​​fornecem atomicidade de falha de graça,pois o estado nunca muda, o que evita inconsistências geradas por mudanças no estado do objeto.

단점

Porém uma desvantagem é que muitas vezes quando precisamos fazer modificações do objeto, por ser imutável precisamos gerar cópia dele e por isso em cenários onde temos que realizar multiplas vezes alterações precisaremos gerar muitas cópias e isso dependsendo do volume de objetos de objetos 공연 관련.

피날리잔도

Nem semper conseguimos garantir que a classe seja 100% imutável, mas restringirmos a mutabilidade pode ser uma boa abordagem.
세터의 위기를 피해야 합니다.
Em class imutáveis ​​precisamos garantir que os construtores recebam todas as informações para construir o objeto.

좋은 웹페이지 즐겨찾기