BT

ランタイムコード生成でのダックタイピング

| 作者: Jonathan Allen フォローする 529 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年7月10日. 推定読書時間: 1 分 |

ダックタイピングは、C#のような静的に型付けされた言語で使用される作法である。しかし通常は単調でつまらないリフレクションコードを必要とする。そんな技法の利点を突きつけられるとどっちみちそれに頼り、痛みを少なくさせる方法を開発している人もいる。

ダックタイピングの背景にある概念は、実行時バインディングとしても知られているが、かなり単純である。機能が呼び出すと見込まれているオブジェクトがす べてのメソッドに応答すると、そのオブジェクトはその機能に受け渡される。静的型付けに詳しい人はこう言うかもしれない。「それは、ただのインターフェイ スじゃないのですか?」そうだし、そうではないとも言える。概念的に見るとインターフェイスのようだが、静的に定義される必要はない。それを使用している デベロッパによってクラスが作成されない場合、これは大事なことである。

常時利用可能な1つの選択肢は、アダプタークラスを作成することである。アダプターはインターフェイスを実装し、メソッドコールをリアルオブジェクトへ受 け渡す。残念なことに、こうしたアダプタークラスのビルドは退屈である。つまらない作業を緩和し、さらに柔軟にするために、デベロッパはランタイムコード の生成に頼り始めている。

以下に挙げるオープンソースプロジェクトで、この例を参照することができる。

これらは結局、応急処置になる可能性がある。すでにVisual Basicは、Option Strict Offによるダックタイピングを備えている。動的に暗黙指定されたインターフェイスは、VB 9向けに検討された。VB 10で見られる削減はなかったけれど。その一方で、C#は動的キーワード(リンク)を追加し、Option Strict Offと同様の効果を生じさせることを検討している。

原文はこちらです:http://www.infoq.com/news/2008/07/DuckTyping-CSharp

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT