Esempio n. 1
0
    static void Main(string[] args)
    {
        var stockObservable   = new StockObservable();
        var microsoftObserver = new MicrosoftStockObserver(stockObservable);
        var googleObserver    = new GoogleStockObserver(stockObservable);

        var stockSimulator = new StockSimulator();

        foreach (var stock in stockSimulator)
        {
            stockObservable.Subject = stock;
        }
        Console.ReadLine();
    }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Without Rx");
            Console.WriteLine("======");

            var iterable = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            };

            foreach (var iterator in iterable)
            {
                if (iterator < 10)
                {
                    System.Console.WriteLine(iterator);
                }
            }


            Console.WriteLine("");
            Console.WriteLine("With LINQ");
            Console.WriteLine("======");
            var query = iterable.Where(iterator => iterator < 10).Select(iterator => { System.Console.WriteLine(iterator); return(iterator); });

            query.ToList();


            Console.WriteLine("");
            Console.WriteLine("With ProtoRx");
            Console.WriteLine("======");

            var ApplesStock = new StockObservable {
                Name = "Apples stock"
            };
            var PearsStock = new StockObservable {
                Name = "Pears stock"
            };
            var CabinetsStock = new StockObservable {
                Name = "Cabinets stock"
            };

            var FruitStore = new StockObserver {
                Name = "Fruit store"
            };
            var Storage = new StockObserver {
                Name = "storage"
            };

            ApplesStock.Subscribe(FruitStore);
            ApplesStock.Subscribe(Storage);

            PearsStock.Subscribe(FruitStore);
            PearsStock.Subscribe(Storage);

            CabinetsStock.Subscribe(Storage);

            Console.WriteLine("");
            Console.WriteLine("Initialize apples and pears to 20 units");
            ApplesStock.Units = 20;
            PearsStock.Units  = 20;

            Console.WriteLine("");
            for (int i = 0; i < 5; i++)
            {
                if (i % 2 == 0)
                {
                    Console.WriteLine("Rest an apple");
                    ApplesStock.Units--;
                }
                else
                {
                    Console.WriteLine("Rest a pear");
                    PearsStock.Units--;
                }

                Thread.Sleep(1000);
            }

            Console.WriteLine("");
            Console.WriteLine("Initialize cabinets to 3 units");
            CabinetsStock.Units = 3;

            Thread.Sleep(1000);

            Console.WriteLine("Add a cabinet");
            CabinetsStock.Units = 4;

            System.Console.ReadLine();
        }