Program.cs
using Notificacoes.Modelos;
List<INotificacao> notificacoes = new List<INotificacao> {
new EmailNotificacao(),
new SmsNotificacao(),
new PushNotificacao()
};
Console.Clear();
notificacoes.ForEach(notificacao => notificacao.EnviarMensagem("Sistema fora do ar!"));
INotificacao.cs
namespace Notificacoes.Modelos;
interface INotificacao {
public void EnviarMensagem(string mensagem);
}
EmailNotificacao.cs
namespace Notificacoes.Modelos;
class EmailNotificacao : INotificacao {
public void EnviarMensagem(string mensagem) {
Console.WriteLine($"Enviando Email: {mensagem}");
}
}
SmsNotificacao.cs
namespace Notificacoes.Modelos;
class SmsNotificacao : INotificacao {
public void EnviarMensagem(string mensagem) {
Console.WriteLine($"Enviando Sms: {mensagem}");
}
}
PushNotificacao.cs
namespace Notificacoes.Modelos;
class PushNotificacao : INotificacao {
public void EnviarMensagem(string mensagem) {
Console.WriteLine($"Enviando PUSH: {mensagem}");
}
}