public void Main() { var square = new Square(5); var drawer = new SquareDrawer(square); drawer.Draw(); }
public void Main() { var shapes = new IShape[] { new Square(5), new Circle(1) /*, ...*/ }; foreach (IShape shape in shapes) { if (shape is Square) { var drawer = new SquareDrawer((Square)shape); drawer.Draw(); } else if (shape is Circle) { var drawer = new CircleDrawer((Circle)shape); drawer.Draw(); } // ... } }