From: Phrogz Date: 2006-08-22T08:40:03+09:00 Subject: Re: Strategy pattern / interface design arrangement Oliver Bandel wrote: > But maybe this analogy is not quite right... > ...so if someone is here who can explain it better... > ...if not, after jumping into Ruby more detailed, > I may do it later. Perhaps read the article that you cite: http://talklikeaduck.denhaven2.com/articles/2006/07/26/my-favorite-duck-typing-story The short of it is: two different classes of objects are interchangeable if they both support the same (named) methods that code using those objects invoke. You don't need static-typing or compile-type checking. You don't need interfaces. You don't need contracts. You just need to have the methods available that you are going to call.