Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[DÚVIDA] Threads 1: Programação paralela em Java (Nicko) - Implementação Repetição da Limpeza com while(true)

Gostaria de saber o motivo pelo qual o while(true), da repetição da funcionalidade que representa a "Limpeza", fora implementado na classe TarefaLimpeza, ao invés de ter sido implementado na classe Banheiro no método limpa() mesmo.

Questiono isso pois as demais classes Runnable não possuem lógica, apenas são usados para chamar os seus respectivos métodos da classe Banheiro.

O design não seria melhor se tivesse sido implementado na classe Banheiro mesmo?

Fiz a mudança aqui, e aparentemente o efeito é o mesmo. Estou correto?

    @Override
    public void run() {
        while(true) {
            this.banheiro.limpa();
            try {
                Thread.sleep(15000);//limpando cada 15s
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
1 resposta
solução!

É so para separar a responsabilidade... O banheiro em si modela algo do seu dominio, enquanto que a implementação de Runnable mais parece com uma task do seu sistema.