Exemple #1
0
        static void Main(string[] args)
        {
            Visitor.src.ex1.Visitor colorize = new ColorizeVisitor();
            Visitor.src.ex1.Visitor scale    = new ScaleVisitor();

            foreach (var g in Geometries)
            {
                g.Accept(colorize);
                g.Accept(scale);
            }

            foreach (var g in Geometries)
            {
                Console.WriteLine(g);
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var figures = new List <Figure> {
                new Circle(10), new Square(20), new Triangle(3, 4, 5)
            };

            var areaVisitor  = new AreaVisitor();
            var colorVisitor = new ColorizeVisitor();
            var drawVisitor  = new DrawVisitor();

            foreach (var figure in figures)
            {
                figure.AcceptColorizeVisitor(Color.Blue, colorVisitor);
                figure.AcceptDrawVisitor(0, 0, drawVisitor);
                figure.AcceptGetAreaVisitor(areaVisitor);
            }
            //Output:
            //Drawing Circle on position 0, 0
            //Circle's area: 314,159265358979
            //Drawing Square on position 0, 0
            //Square's area: 400
            //Drawing Triangle on position 0, 0
            //Triangle's area: 6
        }