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(); }
public void NotifyTwitter() { var aggregator = new NewsAggregator(); var twitter = new TwitterWidget(); aggregator.RegistedWidget(twitter); aggregator.NotifyWidgets(); aggregator.UnregisterWidget(twitter); twitter.Display(); }
private TwitterWidget CreateModel() { var dataSourceId = RenderingContext.CurrentOrNull.Rendering.DataSource; var item = Sitecore.Context.Database.GetItem(dataSourceId); var twitterWidget = new TwitterWidget() { Title = new HtmlString(FieldRenderer.Render(item, "Title")), HashTag = item.Fields["HashTag"].Value }; return(twitterWidget); }
void Start() { NewsAggregator newsAggregator = new NewsAggregator(); var twitterWidget = new TwitterWidget(newsAggregator); var lentaWidget = new LentaWidget(newsAggregator); var tvWidget = new TvWidget(newsAggregator); newsAggregator.NewNewsAvalible(); Debug.Log("------------------------------------------------------------------------------"); twitterWidget.RemoveFromSubject(); newsAggregator.NewNewsAvalible(); }
void Start() { newsAggregator = new NewsAgregator(); twitterWidget = new TwitterWidget(newsAggregator); lentaWidget = new LentaWidget(newsAggregator); tvWidget = new TvWidget(newsAggregator); newsAggregator.NeNewsAvalable(); // оповещение twitterWidget.RemoveFromSubject(); // удаление из оповещаемых newsAggregator.NeNewsAvalable(); // оповещение }
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 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(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(); }