Exemplo n.º 1
0
                private static void Example2()
                 {
                        // Segment -> Rectangle -> Ellipse
                            IDessinForme dfSansSentinelle  =  new DessinerFormeEllipse();

                        dfSansSentinelle  =  new DessinerFormeRectangle()   {
                 Suivant  =  dfSansSentinelle 
            };
                        dfSansSentinelle  =  new DessinerFormeSegment()   {
                 Suivant  =  dfSansSentinelle 
            };

                        // Segment -> Rectangle -> Ellipse -> Sentinelle
                            IDessinForme dfAvecSentinelle  =  new DessinerFormeSentinelle();

                        dfAvecSentinelle  =  new DessinerFormeEllipse()   {
                 Suivant  =  dfAvecSentinelle 
            };
                        dfAvecSentinelle  =  new DessinerFormeRectangle()   {
                 Suivant  =  dfAvecSentinelle 
            };
                        dfAvecSentinelle  =  new DessinerFormeSegment()   {
                 Suivant  =  dfAvecSentinelle 
            };

                        List <IFormeGeometrique>  formes  =  new List <IFormeGeometrique>()
                                                                         {
                                new Ellipse(),
                                new Rectangle(),
                                new Segment(),
                                new Triangle()
                            
            };

                        Console.Out.WriteLine("Chaine sans sentinnelle : ");
                        formes.ForEach((f)   =>
                                                    {
                                dfSansSentinelle.Dessiner(f);
                            
            });

                        Console.Out.WriteLine();
                        Console.Out.WriteLine("Chaine avec sentinnelle : ");
                        formes.ForEach((f)   =>
                                                    {
                                try
                                 {
                                        dfAvecSentinelle.Dessiner(f);
                                    
                }
                                catch (Exception ex)
                                 {
                                        ConsoleColor backColor   =  Console.BackgroundColor;
                                        Console.BackgroundColor  =  ConsoleColor.Red;
                                        Console.Error.WriteLine(ex.Message);

                                        Console.BackgroundColor  =  backColor;
                                    
                }
                            
            });
                    
        }
Exemplo n.º 2
0
        private static void Example2()
        {
            // Segment -> Rectangle -> Ellipse
            IDessinForme dfSansSentinelle = new DessinerFormeEllipse();

            dfSansSentinelle = new DessinerFormeRectangle()
            {
                Suivant = dfSansSentinelle
            };
            dfSansSentinelle = new DessinerFormeSegment()
            {
                Suivant = dfSansSentinelle
            };

            // Segment -> Rectangle -> Ellipse -> Sentinelle
            IDessinForme dfAvecSentinelle = new DessinerFormeSentinelle();

            dfAvecSentinelle = new DessinerFormeEllipse()
            {
                Suivant = dfAvecSentinelle
            };
            dfAvecSentinelle = new DessinerFormeRectangle()
            {
                Suivant = dfAvecSentinelle
            };
            dfAvecSentinelle = new DessinerFormeSegment()
            {
                Suivant = dfAvecSentinelle
            };

            List <IFormeGeometrique> formes = new List <IFormeGeometrique>()
            {
                new Ellipse(),
                new Rectangle(),
                new Segment(),
                new Triangle()
            };

            Console.Out.WriteLine("Chaine sans sentinnelle : ");
            formes.ForEach((f) =>
            {
                dfSansSentinelle.Dessiner(f);
            });

            Console.Out.WriteLine();
            Console.Out.WriteLine("Chaine avec sentinnelle : ");
            formes.ForEach((f) =>
            {
                try
                {
                    dfAvecSentinelle.Dessiner(f);
                }
                catch (Exception ex)
                {
                    ConsoleColor backColor  = Console.BackgroundColor;
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.Error.WriteLine(ex.Message);

                    Console.BackgroundColor = backColor;
                }
            });
        }