コード例 #1
0
ファイル: Program.cs プロジェクト: royms/ProtoType
        static void Main(string[] args)
        {
            Circle       c = new Circle(new Point(6, 10), 60);
            Circle       b = new Circle(new Point(5, 5), 50.5);
            Rectangle    r = new Rectangle(new Point(10, 10), 40);
            List <Shape> a = new List <Shape> {
                r, b, c
            };
            ShapeHolder s = new ShapeHolder(a);


            Console.WriteLine(c);

            ShapeHolder n = s.clone();

            c.Center.X = 99999;

            Console.WriteLine(n.shapes[2]);

            //DoStuffWithCircle(s.clone() as Circle);



            Console.WriteLine(c);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: ryoyop/dp140719
        static void Main(string[] args)
        {
            Shape       s  = new Circle(new Point(5, 5), 50.5);
            ShapeHolder sh = new ShapeHolder();

            sh.add(s);
            sh.toString();

            DoStuffWithCircle((Circle)(s.clone()));

            sh.toString();
        }
コード例 #3
0
        static void Main(string[] args)
        {
            ShapeHolder sh = new ShapeHolder();

            sh.listOfShapes.Add(new Rectangle(new Point(1, 2), new Point(1, 2), new Point(1, 2), new Point(1, 2)));
            sh.listOfShapes.Add(new Rectangle(new Point(3, 4), new Point(5, 2), new Point(1, 2), new Point(7, 7)));
            sh.listOfShapes.Add(new Circle(new Point(5, 1), 15));

            ShapeHolder aaaaa = sh.clone();

            aaaaa.listOfShapes[0] = new Circle(new Point(1, 0), 222);

            Console.WriteLine(sh.ToString());
            Console.WriteLine("--------");
            Console.WriteLine(aaaaa.ToString());
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: rudida247/DesignPatterns
        static void Main(string[] args)
        {
            IList <Shape> shapes = new List <Shape>();

            shapes.Add(new Circle(new Point(5, 5), 50.5));
            shapes.Add(new Circle(new Point(4, 5), 20));
            shapes.Add(new Rectangle(new Point(2, 5), new Point(3, 5), new Point(4, 5), new Point(5, 5)));
            ShapeHolder shapeHolder = new ShapeHolder(shapes);

            Console.WriteLine(shapeHolder);
            ShapeHolder shapeHolder2 = shapeHolder.clone();

            DoStuffWithShapeHolder(shapeHolder2);
            Console.WriteLine(shapeHolder2);
            Console.WriteLine(shapeHolder);
            Console.ReadLine();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: itay1996g/DesignPatterns
        static void Main(string[] args)
        {
            Circle      c           = new Circle(new Point(5, 5), 50.5);
            Rectangle   r           = new Rectangle(new Point(1, 2), new Point(3, 4), new Point(5, 6), new Point(7, 8));
            Point       p           = new Point(9, 10);
            ShapeHolder shapeHolder = new ShapeHolder();

            shapeHolder.add(c);
            shapeHolder.add(r);
            shapeHolder.add(p);

            Console.WriteLine(c);
            Console.WriteLine(r);
            Console.WriteLine(p);

            DoStuffWithCircle((Circle)c.clone(), (Rectangle)r.clone(), (Point)p.clone());

            Console.WriteLine(c);
            Console.WriteLine(r);
            Console.WriteLine(p);
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: maygalibter/DesignPatterns
        static void Main(string[] args)
        {
            Circle c = new Circle(new Point(5, 5), 50.5);

            Console.WriteLine("**Circle**");
            Console.WriteLine("\nOriginal");
            Console.WriteLine("________");
            Console.WriteLine(c);

            DoStuffWithCircle(c.clone() as Circle);

            Console.WriteLine("\nSend clone");
            Console.WriteLine("__________");
            Console.WriteLine(c);


            DoStuffWithCircle(c);

            Console.WriteLine("\nSend original");
            Console.WriteLine("_____________");
            Console.WriteLine(c);
            Console.WriteLine("======================================");

            Rectangle r = new Rectangle(new Point(1, 1), new Point(1, 3), new Point(3, 1), new Point(3, 3));

            Console.WriteLine("\n**Rectangle**");
            Console.WriteLine("\nOriginal");
            Console.WriteLine("________");
            Console.WriteLine(r);

            DoStuffWithRectangle(r.clone() as Rectangle);

            Console.WriteLine("\nSend clone");
            Console.WriteLine("__________");
            Console.WriteLine(r);


            DoStuffWithRectangle(r);

            Console.WriteLine("\nSend original");
            Console.WriteLine("_____________");
            Console.WriteLine(r);
            Console.WriteLine("======================================");

            Console.WriteLine("\n**Shape**");
            Circle      c1 = new Circle(new Point(1, 1), 3.14);
            Circle      c2 = new Circle(new Point(2, 2), 6.28);
            Rectangle   r1 = new Rectangle(new Point(1, 1), new Point(1, 4), new Point(3, 1), new Point(3, 4));
            ShapeHolder s  = new ShapeHolder();

            s.list.Add(c1);
            s.list.Add(c2);
            s.list.Add(r1);

            // Print original shapeholder
            Console.WriteLine("\nOriginal Shape list");
            Console.WriteLine("___________________");
            s.PrintShapeList();

            // Create clone
            ShapeHolder sClone = s.clone();

            DoStuffWithCircle(c1);
            DoStuffWithRectangle(r1);

            // Print original after change
            Console.WriteLine("\nOriginal Shape list after change");
            Console.WriteLine("________________________________");
            s.PrintShapeList();

            // Print clone after change
            Console.WriteLine("\nClone Shape list after change");
            Console.WriteLine("________________________________");
            sClone.PrintShapeList();
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: rudida247/DesignPatterns
 public static void DoStuffWithShapeHolder(ShapeHolder shapeHolder)
 {
     shapeHolder.shapes.Remove(shapeHolder.shapes.First());
 }
コード例 #8
0
        static void Main(string[] args)
        {
            Shape c = new circle(new Point(5, 5), 50.5);

            Console.WriteLine("First circle:");
            Console.WriteLine("=============");

            Console.WriteLine(c + "\n");

            DoStuffWithCircle(c.clone() as circle);

            Console.WriteLine("First circle after change:");
            Console.WriteLine("==========================");

            Console.WriteLine(c + "\n");


            Shape r = new Rectangle(new Point(0, 0), new Point(0, 2), new Point(2, 4), new Point(0, 4));

            Console.WriteLine("First Rectangle:");
            Console.WriteLine("===============");
            Console.WriteLine(r + "\n");
            DoStuffWithRectangle(r.clone() as Rectangle);

            Console.WriteLine("First Rectangle after change:");
            Console.WriteLine("=============================");
            Console.WriteLine(r + "\n");

            ShapeHolder container1 = new ShapeHolder();

            container1.shapeList.Add(c);
            container1.shapeList.Add(r);

            ShapeHolder container2 = container1.clone();

            Console.WriteLine("First Container:");
            Console.WriteLine("================");
            foreach (Shape s in container1.shapeList)
            {
                Console.WriteLine(s);
            }
            Console.WriteLine("Second Container:");
            Console.WriteLine("=================");
            foreach (Shape s in container2.shapeList)
            {
                Console.WriteLine(s);
            }

            (c as circle).area = 30;

            Console.WriteLine("First Container after change:");
            Console.WriteLine("=============================");
            foreach (Shape s in container1.shapeList)
            {
                Console.WriteLine(s);
            }

            Console.WriteLine("Second Container after change:");
            Console.WriteLine("==============================");

            foreach (Shape s in container2.shapeList)
            {
                Console.WriteLine(s);
            }
        }