Hello all,\n\nI've been trying to go over my OO Patterns book, and I decided to try\nto implement them in Python this time around. I figured this would\nhelp me learn the language better.\n\nWell, I've gotten stuck with my first go at OO patterns with Python. I\nguess it goes without say that some of the stuff that are taken for\ngranted in most of the books (ie. Interfaces, Abstract classes) don't\nreally apply to Python per say, but the idea behind the patterns can be\nextracted out still. In the specific case of the Strategy pattern, I\nthink the goal is to abstract out of the class an algorithm that can\nthen be reused by some of the inherited classes. This way we don't\nrepeat ourselves. Maybe I got this all wrong...\n\nI'm at a loss at how I can do this with Python, any pointers would be\nmore than welcomed!\n\nTo aid commenters... we can use the example used in "Head First Design\nPatterns". I've implemented this simple patter in Java and .NET... now\nin python. I can't draw UML here, so I'll try to pseudo talk what the\nexample has:\n\nAbstract Base Class: Duck\n+ FlyBehavior _fly\n+ swim()\n+ fly() -> calls _fly.fly()\n\nInterface: FlyBehavior\n+ fly()\n\nConcrete Interface FlyHigh (implements FlyBehavior):\n+ fly()\n\nConcrete Class Duck1 (Inherits Duck):\n+ Constructor: _fly = new FlyHigh()\n\nDaniel.