static void DrawShape(Shape s) { if (s is Rectangle) DrawRectange(s as Rectangle); else if (s is Square) DrawSquare(s as Square); else { // ... } }
老调重弹--面向对象设计原则--S.O.L.I.D设计原则
原文:http://www.cnblogs.com/fecktty2013/p/software-design-solid.html