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); }
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(); }
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(); }