インターフェイス(またはすべてのメソッドを抽象化した抽象クラス)は、C#、JAVAなどの静的型付き言語の強力な武器です。これにより、さまざまな派生タイプを統一された方法で使用できます。デザインパターンは、可能な限りインターフェイスを使用することを推奨します。
ただし、動的型付け言語では、コンパイル時にすべてのオブジェクトの型がチェックされるわけではありません。特定の方法で使用するためにインターフェースを実装する必要はありません。いくつかのメソッド(属性)が定義されていることを確認する必要があります。これにより、インターフェースが不要になるか、少なくとも静的言語ほど有用ではなくなります。
典型的な動的言語(ルビーなど)にはインターフェースがありますか?もしそうなら、それを持っていることの利点は何ですか?そうでない場合は、インターフェイスを必要とする美しいデザインパターンの多くを失っていますか?
ありがとう。