Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Paula Santana
Paula Santana

Posted on

     

Java Efetivo Essencial - Método Padrão

Proteja as interfaces para a posteridade

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

Interfaces

Já sabemos que antes do Java 8 não era possível adicionar métodos sem gerra um quebra nas interfaces, ou seja, fazer com que todas as classes que implementasse a interfasse tivessem que implementar o novo método.
Com o Java 8 surgiram os métodos padrões, que permitem que adicionemos um método com implementação na interface, ou seja, nesse caso as classes que implementam a interface herdam o método padrão.
Porém é necessário que ter em mente que alterações em interfaces pode ser arriscado.

Atenção

Mesmo sendo possível adicionar o método padrão e ele ser utilizado por todas classes que implementam a interface não é possível ter controle de que a execução do método novo será com sucesso em todas as implementações.
O livro usa bastante exemplos da própria base de código do Java e então o exemplo citado sobre esse ponto é da interface de Collections, que teve métodos padrão implementados para que as lambdas fossem implementadas em todas as implementações de coleções.

Problemas

Um dos métodos implementados em Collections é o removeIf que não tem um efeito possitivo em todas implementações, como citado no livro algumas classes wraper por exemplo como a SynchronizedCollection da biblioteca Apache Commons acabam não executando bem esse método( pelo menos até a data de escrita do livro), isso porque quando um método padrão novo é implementado pode não conseguir atender todas as possibilidades de implementação. Então ao adicionarmos um método padrão precisamos ter em mente isso.

Então

Então devemos ficar atentos na execução do método nas implementações da interface.
E isso porque pode parece um recurso fácil de utilizar, mas ainda temos que garantir estabilidade na escrita de uma interface. Sempre se questione quando uma interface mudar muito, isso pode ser um problema no design da aplicação.
Tenha cautela ao projetar intefaces.

Resumo do Resumo

Métodos padrão são bons, mas devem ser utilizados em exceções em especial quando se tem noção das implementações da interface de modo que consiga projetá-lo bem.
Teste bem suas interfaces, implementando clientes das interfaces de forma totalmente diferente.
Corrigir erros depois de implementados em interfaces acaba sendo um trabaho mais difícil.

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

I have been working with technology since 2008, Java developer since 2014.I am a Microsoft MVP, speaker, leader and organizer of Java Girls JUG and JUG Lisbon
  • Location
    Lisbon, Portugal
  • Education
    UNIBR
  • Work
    Sênior Software engineer
  • Joined

More fromPaula Santana

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp