Atualmente, aplicações de diversas plataformas como web e mobile possuem recursos de envio de mensagens por diferentes meios como: email, sms, WhatsApp, notificações push, etc.
Considere você precisará:
-
trocar a forma de envio de mensagens por outra;
-
ou alternar entre diferentes formas.
No entanto, você não quer ficar escrevendo if()
em todos os locais onde precisa definir qual classe será instanciada para enviar mensagens e quer que o processo de decisão de qual classe instanciar (que define a forma de envio de mensagens) seja encapsulado.
Faça as alterações necessárias no projeto atual e implemente um padrão para resolver os problemas mencionados.
O projeto requer JDK 11 ou superior.
Responda
-
Qual padrão de projeto pode ser utilizado para resolver este problema? Implemente a solução (não precisa enviar mensagens de fato, apenas simular com prints).
Implemente o projeto e envie link para repositório no GitHub, onde o README deve conter as respostas.