Exemplo n.º 1
0
        static void Main(string[] args)
        {
            FinalExam.Demo();
            Publisher pub1 = new Publisher("publisher1", 2000);
            Publisher pub2 = new Publisher("publisher2", 1000);

            //Create Instances of Subscribers
            Subscriber sub1 = new Subscriber("Chaoyi");
            Subscriber sub2 = new Subscriber("Peter");
            Subscriber sub3 = new Subscriber("Jane");

            //Pass the publisher obj to their Subscribe function
            sub1.Subscribe(pub2); //sub1 subscribes to publisher2
            sub3.Subscribe(pub2);

            sub1.Subscribe(pub1);
            sub2.Subscribe(pub1);



            // Concurrently running multiple publishers thread for mocking continious notification update firing.
            Task task1 = Task.Factory.StartNew(() => pub1.Publish());
            Task task2 = Task.Factory.StartNew(() => pub2.Publish());

            Task.WaitAll(task1, task2);
        }
Exemplo n.º 2
0
        /*
         * 60 POINTS:
         */
        public static void Demo()
        {
            Console.WriteLine($"\n\t FinalExam.Demo() version {Version} ...");

            FinalExam obj = new FinalExam();

            obj.UseStrings();           //  2 POINTS
            obj.UseObjectInitializer(); //  4 POINTS
            obj.ParseCSVString();       //  4 POINTS

            obj.SortIntegers();         //  2 POINTS
            obj.SortDoubles();          //  2 POINTS
            obj.SortStrings();          //  6 POINTS
            obj.SortItems();            // 10 POINTS

            obj.ProcessIntegers();      // 5 POINTS
            obj.ProcessDoubles();       // 5 POINTS
            obj.ProcessItems();         // 10 POINTS

            obj.UsePolymorphism();      // 10 POINTS

            Console.WriteLine("\n\t FinalExam.Demo()...done!");
        }