static void Main(string[] args) { // создание одного издателя событий var newsAggregator = new NewsAggregator(); // создание трех наблюдателей var twitterWidget = new TwitterWidget(); var lentaWidget = new LentaWidget(); var tvWidget = new TvWidget(); // подписка наблюдателей на событие NewsChanged издателя //System.Console.WriteLine(newsAggregator.NewsChanged); newsAggregator.NewsChanged += twitterWidget.Update; //System.Console.WriteLine(newsAggregator.NewsChanged); newsAggregator.NewsChanged += lentaWidget.Update; //System.Console.WriteLine(newsAggregator.NewsChanged); newsAggregator.NewsChanged += tvWidget.Update; //System.Console.WriteLine(newsAggregator.NewsChanged); newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewsChanged -= twitterWidget.Update; newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main(string[] args) { //объявление новых наблюдателей (виджетов) var newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(newsAggregator); // регистрация во время создания объекта var lentaWidget = new LentaWidget(newsAggregator); var tvWidget = new TvWidget(newsAggregator); //вызов метода, производящего обновление новостей newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main(string[] args) { var newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(newsAggregator); var lentaWidget = new LentaWidget(newsAggregator); var tvWidget = new TvWidget(newsAggregator); newsAggregator.NewNewsAvailable(); Console.WriteLine(); twitterWidget.RemoveFormSubject(); newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main() { var newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(newsAggregator); var lentaWidget = new LentaWidget(newsAggregator); var tvWidget = new TvWidget(newsAggregator); newsAggregator.NewNewsAvailable(); Console.WriteLine(); twitterWidget.Unsubscribe(); newsAggregator.NewNewsAvailable(); }
static void Main(string[] args) { var newsAggregator = new NewsAggregator(); var instagramWidget = new InstagramWidget(); var twitterWidget = new TwitterWidget(); newsAggregator.NewsChanged += new NewsChangedEventHandler(instagramWidget.Update); newsAggregator.NewsChanged += new NewsChangedEventHandler(twitterWidget.Update); newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewsChanged -= new NewsChangedEventHandler(instagramWidget.Update); newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main(string[] args) { var newsAggregator = new NewsAggregator(); var franceFootballWidget = new FranceFootballWidget(); var deportivoWidget = new DeportivoWidget(); var barcaNewsWidget = new BarcaNewsWidget(); newsAggregator.NewsChanged += franceFootballWidget.Update; newsAggregator.NewsChanged += deportivoWidget.Update; newsAggregator.NewsChanged += barcaNewsWidget.Update; newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewsChanged -= franceFootballWidget.Update; newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main(string[] args) { var newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(); var lentaWidget = new LentaWidget(); var tvWidget = new TvWidget(); newsAggregator.NewsChanged += twitterWidget.Update; newsAggregator.NewsChanged += lentaWidget.Update; newsAggregator.NewsChanged += tvWidget.Update; newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewsChanged -= twitterWidget.Update; newsAggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main() { var aggregator = new NewsAggregator(); var twitter = new TwitterObserver(); var vk = new VkObserver(); aggregator.NewsChanged += twitter.Update; aggregator.NewsChanged += vk.Update; aggregator.NewNewsAvailable(); Console.WriteLine("--------------"); aggregator.NewNewsAvailable(); aggregator.NewsChanged -= vk.Update; Console.WriteLine("--------------"); aggregator.NewNewsAvailable(); Console.ReadLine(); }
static void Main(string[] args) { var newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(); var lentaWidget = new LentaWidget(); var tvWidget = new TvWidget(); //handlers can be matched inside ctor of widget class //newsAggregator.NewsChanged += (s, a) => Console.WriteLine("{0} say: {1}, {2}, {3}", s, a.Lenta, a.Tv, a.Twitter); newsAggregator.NewsChanged += twitterWidget.Update; newsAggregator.NewsChanged += lentaWidget.Update; newsAggregator.NewsChanged += tvWidget.Update; newsAggregator.NewNewsAvailable(); Console.WriteLine(); newsAggregator.NewsChanged -= twitterWidget.Update; newsAggregator.NewNewsAvailable(); Console.ReadLine(); }