INotificacao.cs
internal interface INotificacao
{
void EnviarMensagem(string mensagem);
}
EmailNotificacao.cs
internal class EmailNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
=> Console.WriteLine($"Enviando E-MAIL: {mensagem}");
}
SmsNotificacao.cs
internal class SmsNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
=> Console.WriteLine($"Enviando SMS: {mensagem}");
}
PushNotificacao.cs
internal class PushNotificacao : INotificacao
{
public void EnviarMensagem(string mensagem)
=> Console.WriteLine($"Enviando PUSH: {mensagem}");
}
Program.cs
using E03NotificacoesDeSistema.Interfaces;
using E03NotificacoesDeSistema.Models;
List<INotificacao> notificacoes =
[
new EmailNotificacao(),
new SmsNotificacao(),
new PushNotificacao()
];
foreach (var notificacao in notificacoes)
notificacao.EnviarMensagem("Sistema fora do ar!");