static void Main(string[] args)
        {
            var areaVisitor  = new AreaVisitor();
            var drawVisitor  = new DrawVisitor();
            var magicVisitor = new MagicVisitor();

            var figures = new List <IElement>
            {
                new Circle
                {
                    Radius = 2
                },
                new Rectangle
                {
                    Height = 3,
                    Width  = 2
                },
                new Triangle
                {
                    Base   = 3,
                    Height = 2
                }
            };


            figures.ForEach(x => x.Accept(areaVisitor));
            figures.ForEach(x => x.Accept(drawVisitor));
            figures.ForEach(x => x.Accept(magicVisitor));
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var triangle  = new Triangle(3, 4, 5);
            var rectangle = new Rectangle(4, 5);
            var circle    = new Circle(3);
            var figures   = new List <Figure> {
                triangle, rectangle, circle
            };

            var perimeterVisitor = new PerimeterVisitor();
            var areaVisitor      = new AreaVisitor();
            var drawVisitor      = new DrawVisitor(100, 100, Color.Orchid);

            foreach (var figure in figures)
            {
                figure.Accept(perimeterVisitor);
                figure.Accept(areaVisitor);
                figure.Accept(drawVisitor);
            }
        }