static void Main() { //Create publishers IPublisherService sozcu = new Sozcu("Sozcu"); IPublisherService cumhuriyet = new Cumhuriyet("Cumhuriyet"); //Create subscribers AnatoliaNewsAgency anatoliaNewsAgency = new AnatoliaNewsAgency("Anatolia NA"); EuropeNewsAssociation europeNewsAssociation = new EuropeNewsAssociation("ENA"); //Register subscribers to the publishers' events sozcu.OnBreakingNewsReleased += anatoliaNewsAgency.BreakingNews; sozcu.OnBreakingNewsReleased += europeNewsAssociation.ENA_BreakingNewsReleases; sozcu.OnWorldNewsReleased += anatoliaNewsAgency.WorldNews; sozcu.OnWorldNewsReleased += europeNewsAssociation.ENA_WorldNewsReleases; sozcu.OnEconomyNewsReleased += anatoliaNewsAgency.EconomyNews; sozcu.OnEconomyNewsReleased += europeNewsAssociation.ENA_EconomyNewsReleases; sozcu.OnSportsNewsReleased += anatoliaNewsAgency.SportsNews; sozcu.OnSportsNewsReleased += europeNewsAssociation.ENA_SportsNewsReleases; sozcu.OnMagazineNewsReleased += anatoliaNewsAgency.MagazineNews; sozcu.OnMagazineNewsReleased += europeNewsAssociation.ENA_MagazineNewsReleases; cumhuriyet.OnBreakingNewsReleased += anatoliaNewsAgency.BreakingNews; cumhuriyet.OnBreakingNewsReleased += europeNewsAssociation.ENA_BreakingNewsReleases; cumhuriyet.OnWorldNewsReleased += anatoliaNewsAgency.WorldNews; cumhuriyet.OnWorldNewsReleased += europeNewsAssociation.ENA_WorldNewsReleases; cumhuriyet.OnEconomyNewsReleased += anatoliaNewsAgency.EconomyNews; cumhuriyet.OnEconomyNewsReleased += europeNewsAssociation.ENA_EconomyNewsReleases; cumhuriyet.OnSportsNewsReleased += anatoliaNewsAgency.SportsNews; cumhuriyet.OnSportsNewsReleased += europeNewsAssociation.ENA_SportsNewsReleases; cumhuriyet.OnMagazineNewsReleased += anatoliaNewsAgency.MagazineNews; cumhuriyet.OnMagazineNewsReleased += europeNewsAssociation.ENA_MagazineNewsReleases; ((PublisherBase)sozcu).NewPublishOnBreakingNews("TIA Portal 15 Released.", "CEO announced new release."); }
static void Main() { INewsPublishService publisher = new EuroNewsAgency(); var subscriber1 = new Cumhuriyet(); var subscriber2 = new Bloomberg(); publisher.OnBreakingNews += subscriber1.BreakingNewsSubscription; publisher.OnEconomyNews += subscriber1.EconomyNewsSubscription; publisher.OnSportsNews += subscriber1.SportsNewsSubscription; publisher.OnEconomyNews += subscriber2.EconomyNews; ((EuroNewsAgency)publisher).BreakingNewsRelease("New laws in EU", "Germany releases new laws for refugees."); ((EuroNewsAgency)publisher).EconomyNewsRelease("EUR/TRY currency rate", "Currency rate difference increased to 6,27 TL"); }