Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            var triangle = new Triangle(new List <Point>()
            {
                new Point(0, 0), new Point(5, 5), new Point(0, 5)
            });
            var rectangle = new Rectangle(new List <Point>()
            {
                new Point(0, 0), new Point(0, 5), new Point(5, 5), new Point(5, 0)
            });
            var rhombus =
                new Rhombus(new List <Point> {
                new Point(0, 1), new Point(2, 0), new Point(4, 1), new Point(2, 2)
            });
            var areaVisitor = new GetAreaVisitor();

            triangle.Accept(areaVisitor);
            Console.WriteLine(areaVisitor.Result);
            rectangle.Accept(areaVisitor);
            Console.WriteLine(areaVisitor.Result);
            rhombus.Accept(areaVisitor);
            Console.WriteLine(areaVisitor.Result);
            Console.WriteLine();
            var drawVisitor = new DrawingVisitor(new Point(5, 5));

            triangle.Accept(drawVisitor);
            rectangle.Accept(drawVisitor);
            rhombus.Accept(drawVisitor);
            var polygonLoveVisitor = new PolygonLoveVisitor();

            triangle.Accept(polygonLoveVisitor);
            rectangle.Accept(polygonLoveVisitor);
            rhombus.Accept(polygonLoveVisitor);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            var figures = new IFigure[3];

            figures[0] = new Rectangle(10, 5, new Point(10, 10));
            figures[1] = new Triangle(5, 7, 3, new Point(-4, -7));
            figures[2] = new Circle(4, new Point(0, 0));

            var graphicVisitor       = new DrawingVisitor();
            var areaCalcVisitor      = new AreaCalculatingVisitor();
            var perimeterCalcVisitor = new AreaCalculatingVisitor();

            foreach (var figure in figures)
            {
                figure.Accept(graphicVisitor);
                figure.Accept(areaCalcVisitor);
                figure.Accept(perimeterCalcVisitor);
            }

            Console.ReadKey();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Figure[] figures =
            {
                new Rectangle(2, 5),
                new Circle(3,    1),
                new Hexagon(-2, 0)
            };

            var DrawingVisitor           = new DrawingVisitor();
            var GettingAreaVisitor       = new GettingAreaVisitor();
            var GettingSideLengthVisitor = new GettingSideLengthVisitor();

            foreach (var figure in figures)
            {
                figure.Accept(DrawingVisitor);
                figure.Accept(GettingAreaVisitor);
                figure.Accept(GettingSideLengthVisitor);
                System.Console.WriteLine();
            }

            System.Console.Read();
        }