Program.cs
List<INotificacao> notificacoes = new List<INotificacao>
{
new EmailNotificacao(),
new SMSNotificacao(),
new PushNotificacao()
};
foreach (var notificacao in notificacoes)
{
notificacao.EnviarMensagem("Sistema fora do ar!");
}
INotificacao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alura_exercicios_poo
{
internal interface INotificacao
{
void EnviarMensagem(string mensagem);
}
}
SMSNotificacao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alura_exercicios_poo
{
internal class SMSNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
{
Console.WriteLine($"Enviando SMS: {mensagem}");
}
}
}
PushNotificacao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alura_exercicios_poo
{
internal class PushNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
{
Console.WriteLine($"Enviando Push-Notificação: {mensagem}");
}
}
}
EmailNotificacao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alura_exercicios_poo
{
internal class EmailNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
{
Console.WriteLine($"Enviando e-mail: {mensagem}");
}
}
}