Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
    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();
    }
Exemplo n.º 3
0
    void Start()
    {
        newsAggregator = new NewsAgregator();

        twitterWidget = new TwitterWidget(newsAggregator);
        lentaWidget   = new LentaWidget(newsAggregator);
        tvWidget      = new TvWidget(newsAggregator);


        newsAggregator.NeNewsAvalable();   // оповещение

        twitterWidget.RemoveFromSubject(); // удаление из оповещаемых

        newsAggregator.NeNewsAvalable();   // оповещение
    }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
        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();
        }