|
|
|
|
// ========================================================================
|
|
|
|
|
//
|
|
|
|
|
// Copyright (C) 2016-2017 MARC CHEVALDONNE
|
|
|
|
|
// marc.chevaldonne.free.fr
|
|
|
|
|
//
|
|
|
|
|
// Module : Program.cs
|
|
|
|
|
// Author : Marc Chevaldonné
|
|
|
|
|
// Creation date : 2016-10-03
|
|
|
|
|
//
|
|
|
|
|
// ========================================================================
|
|
|
|
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
using static System.Console;
|
|
|
|
|
|
|
|
|
|
namespace Broadcaster_Subscriber
|
|
|
|
|
{
|
|
|
|
|
class Program
|
|
|
|
|
{
|
|
|
|
|
static void Main(string[] args)
|
|
|
|
|
{
|
|
|
|
|
OutputEncoding = Encoding.Unicode;
|
|
|
|
|
|
|
|
|
|
//création d'un diffuseur
|
|
|
|
|
Broadcaster info_sport = new Broadcaster("Info Sport");
|
|
|
|
|
info_sport.Info = "Toulouse s'impose face à Toulon 32 à 9";
|
|
|
|
|
|
|
|
|
|
//deux instances d'Subscriber s'abonnent à l'instance de délégué info_sport.Informer
|
|
|
|
|
Subscriber arthur = new Subscriber("Arthur");
|
|
|
|
|
arthur.Abonnement(info_sport);
|
|
|
|
|
info_sport.Info = "Grenoble domine le Racing-Metro 27 à 13";
|
|
|
|
|
|
|
|
|
|
Subscriber richard = new Subscriber("Richard");
|
|
|
|
|
richard.Abonnement(info_sport);
|
|
|
|
|
|
|
|
|
|
//une nouvelle info tombe, l'appel du setter de la propriété Broadcaster.Info va exécuter les méthodes pointées par l'instance
|
|
|
|
|
// de délégué info_sport.Informer, soit arthur.RecevoirInfo et richard.RecevoirInfo
|
|
|
|
|
info_sport.Info = "L'ASM bat le Stade Français 28 à 25";
|
|
|
|
|
//Informer("L'ASM bat le Stade Français 28 à 25", DateTime.Now);
|
|
|
|
|
// <=> arthur.RecevoirInfo("L'ASM bat le Stade Français 28 à 25", DateTime.Now);
|
|
|
|
|
// richard.RecevoirInfo("L'ASM bat le Stade Français 28 à 25", DateTime.Now);
|
|
|
|
|
WriteLine();
|
|
|
|
|
|
|
|
|
|
//arthur désabonne richard et s'abonne tout seul
|
|
|
|
|
arthur.DésabonnerToutLeMondeSaufMoi(info_sport);
|
|
|
|
|
//un nouvelle info tombe, arthur reçoit l'info mais pas richard
|
|
|
|
|
info_sport.Info = "La Nouvelle-Zélande gagne le Four Nations en battant l'Argentine 54 à 15";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|