Encapsulación y captadores

Estaba leyendo estoartículo sobre por quégetter ysetters son malvados El artículo no diceno usarlos alguna vez, pero te dice que pienses de una manera que limite el uso de esos métodos, o que cites el artículo:

No solicite la información que necesita para hacer el trabajo; Pida al objeto que tiene la información que haga el trabajo por usted.

¿Qué sucede cuando necesita mostrar datos en una GUI, pero no tiene métodos getter? El artículo cubre esto brevemente, pero no completamente. Menciona pasar un JComponent a la clase, pero si tiene cambios en la GUI, podría llevar a mucho trabajo para solucionarlo.

Tomemos, por ejemplo, que tiene una clase de Libro (lo que limita este ejemplo para que sea legible).

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
}

Si tengo una GUI que tiene unJTextField para mostrar el título del libro y unaJTable para mostrar la lista de autores, ¿cómo escribiría mi método para "hacer el trabajo" por mí y mostrar el resultado? ¿Es este uno de esos momentos donde ungetter ¿es necesario?

Respuestas a la pregunta(4)

Su respuesta a la pregunta