2

私はルビーに慣れていません...そして今、私はパターンを学び始めました。これはパターンですか、それとも単なるライブラリですか?

 require 'builder'
 xml = Builder::XMLMarkup.new(:target => @output, :ident => 1)
4

1 に答える 1

2

いいえ、それはパターンではありません。クラスをインスタンス化しただけです。

デザインパターンはプログラミングの一般的なトピックです。ルビーに特有のパターンがいくつかあります。すべてのパターンの本とリストがあります-インターネットでそれらを検索するだけです。

一般的なデザインパターンの例:プロデューサー/コンシューマーパターン。コンシューマーがキューにデータを入力し、コンシューマーがキューから非同期にポーリングしてデータを処理します(頭のてっぺんから)。異なる速度で2つのループを実行している場合に便利です。

ルビー固有のパターン:動的関数名を付けるために作成したクラスのmethod_missingをオーバーライドします。これは、rubyライブラリでよく見られるパターンだと思います。

于 2012-07-08T15:07:18.717 に答える