Encapsulamento e Getters
Eu estava lendo issoartigo por quegetter
esetters
são maus. O artigo não diznão para usá-los sempre, mas está lhe dizendo para pensar de uma maneira que limite o uso desses métodos ou para citar o artigo:
Não peça as informações necessárias para o trabalho; peça ao objeto que possui as informações para fazer o trabalho por você.
o que acontece quando você precisa exibir dados em uma GUI, mas não possui métodos getter? O artigo aborda isso brevemente, mas não totalmente. Ele menciona a passagem de um JComponent para a classe, mas se você alterar a GUI, poderá levar muito trabalho a ser corrigido.
Tomemos, por exemplo, uma classe Book (tornando este exemplo limitado para mantê-lo legível).
public final class Book {
private String title;
//Authors is class with the attributes authorFirstname, authorLastname
private List<Author> listofAuthors;
public Book(String title, List<Author> listofAuthors)
{
//initialization
}
//other methods that do work
}
Se eu tiver uma GUI que tenha umJTextField
para exibir o título do livro e umJTable
para exibir a lista de autores, como eu escreveria meu método para "fazer o trabalho" para mim e exibir o resultado? É um daqueles momentos em que umgetter
é necessário?