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.
Reference
이 문제에 관하여(Java Efetivo Essencial - Imutabilidade), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/psanrosa13/java-efetivo-essencial-imutabilidade-39hc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)