Exemplo n.º 1
0
        static void Main(string[] args)
        {
            DisplayA displayA = new DisplayA();
            DisplayB displayB = new DisplayB();
            DisplayC displayC = new DisplayC();
            FacebookClientFactory facebookClientFactory = new FacebookClientFactory();

            var facebookClientA = facebookClientFactory.CreateClient(displayA);
            var facebookClientB = facebookClientFactory.CreateClient(displayB);
            var facebookClientC = facebookClientFactory.CreateClient(displayC);

            facebookClientB.Subscribe(facebookClientA);
            facebookClientC.Subscribe(facebookClientA);
            facebookClientA.WriteNewWallPost("Post");

            facebookClientB.Unsubscribe(facebookClientA);
            facebookClientA.WriteNewWallPost("Post");

            facebookClientC.Unsubscribe(facebookClientA);
        }
        static void Main(string[] args)
        {
            IFacebookClientFactory facebookClientFactory = new FacebookClientFactory();
            IDisplay        consoleDispaler        = new DisplayWallPost();
            IDisplay        consoleDispaler2       = new DisplayWallPost2();
            IDisplay        consoleDispaler3       = new DisplayWallPost3();
            IFacebookClient dolphinsFacebookClient = facebookClientFactory.CreateClient(consoleDispaler);

            IFacebookClient dolphinsFacebookClient2 = facebookClientFactory.CreateClient(consoleDispaler2);
            IFacebookClient dolphinsFacebookClient3 = facebookClientFactory.CreateClient(consoleDispaler3);

            dolphinsFacebookClient2.Subscribe(dolphinsFacebookClient);
            dolphinsFacebookClient3.Subscribe(dolphinsFacebookClient);

            dolphinsFacebookClient.WriteNewWallPost("Hey from here");
            Console.WriteLine("-----------------------------------------------");

            dolphinsFacebookClient2.Unsubscribe(dolphinsFacebookClient);
            dolphinsFacebookClient3.Unsubscribe(dolphinsFacebookClient);
            dolphinsFacebookClient.WriteNewWallPost("aftre change");
        }